What's wrong with AMD?

Whether in the CPU or GPU market, at the consumer or entreprise levels, AMD has been doing badly for a fairly long while.

What are the factors which cause that?

I’m having difficulty explaining why they acted or failed to act in particular ways although I will admit that this may simply be based on my being insufficiently informed. I’m more familiar with the GPU side than the CPU side so most of my examples will be GPU-based. Perhaps others who know more can supply more such examples and their explanations:

  • In the CPU market, AMD seems to try to make up for a poorly-optimized cache system (resulting in a lot of cache misses and its attendant time/energy/heat costs) by increasing the number of CPU cores. This has largely driven AMD out of the mobile and entreprise CPU markets and seems to ignore that the strengths of the CPU is in doing a small number of things 1) that can be anything 2) with low latency. If you want to use many cores to get wider processing throughput and memory bandwidth, there’s something else you can use.
  • Using GPUs for things other than straight-up graphics seems fairly obvious. You want 10 000 particles to be animated and find that takes a ridiculous amount of time/energy/heat budget on 4/6/8 CPU cores? Having 1000 to 4000 GPU cores do it involves programming and microarchitecture sophistication but the efficiency gains are huge. AMD’s GPUOpen is a great idea but it’s difficult to generously explain why it took until 2016 to come out.
  • Coming up with combinations of hardware and middleware which are optimized for particular tasks also seems fairly obvious. From what I understand, a lot of graphical/computational advances come from being a clever cunt who figures out a way of getting 90-99% of the accuracy of the brute force method while using 1 or 2 orders of magnitude less computational resources. So, if you’re having difficulty doing real-time global illumination or soft-body physics because a few big chunks are grossly inaccurate but a lot of small bits are too much to process, try using a middling number of middling size. Breaking up big chunks/bundling up small bits shares a lot in common with another source of efficiency gains in computation: compression.
  • AMD GPUs seem to have consistently failed to equal its competition when it comes to compression of geometry and color which means that it tends to do a significantly worse job optimizing the use of the major bottleneck that is memory bandwidth.
  • When trying to assess the wisdom of investments representing at least a billion dollars and a decade, “What do real men have?” is not a pertinent question.

Maybe there are some aspects of AMD which are good (based on what it has done in the last decade, not what it swaggeringly promises to do). I don’t see many of them besides “Not let Intel and Nvidia completely rest on their laurels”.

So, can anyone provide some educated guesses as to the dysfunctionality of AMD?

Does it seem to have fairly good odds of reestablishing healthy competition in either the CPU or GPU markets?

AMD was the cheaper alternative back when I still built and sold custom PC’s.

The motherboard and the CPU was cheaper. Allowing me to offer the PC at a small discount.

Back then (the 90’s) they worked as well as Intel. It was important to spec a motherboard designed for AMD.

AMD just can’t compete with Intel on R&D - AMD reportedly spends only $238M per quarter on R&D, versus Intel’s $3B. Their strategy now seems to be cornering the midrange market and higher-margin products like server chips. Don’t forget, too, that AMD is in every one of the major video game consoles.

A lot of people forget that in the early aughts, AMD Athlon 64 was considered a better chip than its Intel counterpart. That said, I’m not super optimistic about AMD going forward.

I know some software would not work on a PC with an AMD processor, but would work on a PC with an Intel processor. That was about 7 years ago that my neighbor had that problem. Forget what software it was?

But isn’t that at least partly so Sony and Microsoft could keep costs down? AMD was willing to work with them much cheaper, so Nvidia basically didn’t even bother bidding. Those consoles are sold at a loss, so the margins for component vendors must be razor thin.

AMD was superior for a few years - I had a dual Opteron system with four cores back when dual cores were uber-exotic. It would (1) blow awesome framerates on the games of the day and (2) broil steaks.

I built one too many AMD systems after that, and limped along on an Athlon system that wouldn’t run Creative Suite anywhere near an ideal speed. Been i7’s ever since. (Hey, remember i9’s?

Does AMD have to do it on its own? Intel manufactures its own chips. Can’t AMD pool R&D with manufacturers?

Any ballpark figures on Nvidia’s R&D budget?

Don’t server chips tend to be of very high quality? Don’t they have to be energy & heat-efficient, given the amount of computing server chips do?

What made it better?

Is it pie-in-the-sky to think that ARM or other firms currently in the phone/tablet markets might enter the desktop/laptop/server GPU market?

As a note on terminology, the term “server chip” is often used. Is it taken to include data centers, data relays, cloud computing and supercomputers? Anything else it includes?

I know it’s pretty much generally accepted that for CPUs, AMD used to be the budget/price efficient option (i.e., 90% of the power at 75% of the cost), but has since lagged far behind.

But as far as I can tell they’re still neck-and-neck with Nvidia in the GPU market, with preference often coming down to specific cards, specific games, and simple fanboyism. For the last round of video cards, it was pretty popular to recommend the R9 390 over the GTX 970 due to the difference in VRAM (8 GB vs 3.5+.5), though the 970 was considered better for overclocking. What indicates to you that they’ve fallen sharply behind the competition, as they have with CPUs?

It’s not as bad in the GPU market as in the CPU market. It’s not good though.
Steam hardware survey:
57% Nvidia, 25% AMD, 18% Intel. Steam Hardware & Software Survey

http://store.steampowered.com/hwsurvey/videocard/
10 most common video cards are, in decreasing order: Nvidia, Nvidia, Nvidia, Intel, Nvidia, Intel, Nvidia, Nvidia, Nvidia, AMD.

AMD GPUs are also nearly absent in laptops. They don’t seem to have gone for deep learning (yeah, a buzzword but you know what I mean) as Nvidia.

More recently, they say they’ve gone for VR with their RX 480 and it seems like a definite improvement over the last generation. However, the sort of stuff that puzzles me is this: Nvidia figured out that if you’re doing VR, you can build the geometry once and then take a raster image for each eye. That way, you save the time/energy/heat of building the geometry again for the other eye. Didn’t somebody at AMD sit down with a flowchart of the graphics pipeline, the knowledge that VR goggles have two displays instead of one and figure that out? If so, is it that difficult to design the microarchitecture to have the GPU take two raster images instead of one when it’s doing VR?

Chromebooks with ARM processors have been on the market for a while. I think it’s safe to say it’s not just pie in the sky. :smiley:

Qualcomm has been pursuing the server market using ARM with on again/ off again rumors for Google’s interest in their products. Still Google is obviously spending money to make an effort at being ready for chip options like this:

Google might be spending the money as a negotiation tactic to keep Intel competing on price. Qualcomm seems to think the option is viable enough to spend development dollars though.

It seems to me that AMD has failed to take power efficiency seriously.

It’s not something that’s an obvious problem to someone not familiar with the industry–after all, the differences tend to be on the order of tens of watts, which is basically a couple of cents of electricity a day. What’s the big deal?

But today, power efficiency is essentially the core performance metric. It affects every component of the system, from the design of the heatsink to the clock speed of the chip.

Compare the GTX 1060 to the RX 480. The 1060 has a smaller die, uses ~2/3 the power, and is substantially faster than the RX 480. The 480 requires beefier power regulators, a more expensive heatsink, and has little overclockability.

So NVIDIA can charge more for the 1060 and manufacture it for less. The chip does less work per clock, but they can clock it 40+% higher. It does better with a 192-bit memory bus than the 480 does with a 256-bit bus, so the memory is cheaper. It wouldn’t surprise me if the 1060 can get away with fewer layers on the PCB due to the simplified routing, though I don’t know this for sure. Basically every aspect of the product is improved with increased power efficiency.

All of this stuff adds up and makes the AMD product less compelling. They can stay competitive by cutting their profit margins, but that has the effect of leaving less money for R&D, which feeds back into the original problem.

I know less about their CPUs, but the same principle seems to hold. At the same power level, AMD CPUs do far less work.

What are the different ways to improve power efficiency? Besides smaller nodes and making every engineer play SpaceChem.
Also, the concept of power efficiency and AMD/Intel has made me think: Is there any chance of discrete GPUs getting an L3 cache anytime soon?

I’m not a chip designer so I can only speak in basic principles.

Only clock the chip as high as you need to. For instance, suppose you are locked to 60 Hz but the chip will render at 90 Hz flat-out. You then only need to clock the chip at 2/3 the level to hit your target.

Strongly related to this is: only use as much voltage as you need. Chips need more voltage as they are clocked higher, so if you can reduce the clocks, you can cut the voltage and hence the power.

Only clock the parts of the chip doing work. For instance, GPUs do both math ops and texture ops. But if you’re going math-heavy work, the texture units are idle. They should be unclocked, or–even better–powered off completely (this can be hard).

Just as a very general principle, don’t be wasteful in the work you do. Don’t use 32 bits when 16 bits is enough. Be smart about memory locality–better caches mean fewer memory transactions. Etc.

Semi-related–use fixed-function hardware appropriately. Fixed-function is more efficient than general-purpose. So things like triangle rasterization are best done with fixed hardware. Of course it has the downside that it only does one thing, and if you rarely do that thing, you’d better make sure it doesn’t draw power when you aren’t using it. General-purpose HW is more flexible and will have better occupancy. There’s no hard-and-fast rule here, so you just have to analyze the situation and pick the appropriate method.

Memory power use is also important. GPUs use sophisticated (lossless) memory compression to reduce traffic and increase performance. A lot of traffic is highly compressible–for instance, the first thing that happens in a frame is usually a memory clear to all zeroes. A big chunk of zeroes compresses very well. They’re much more clever than just this, of course.

In a very hand-waving sense, you want a focus on elegant hardware instead of brute force. It’s easy to throw a bunch of math units on a chip, but done poorly they’ll sit idle a lot of the time and just burn power. It’s worth spending some of that chip area on caches, compressors, clock gating units, and so on. The bullet-point numbers on the GPU will go down but the efficiency will make up for it.

Lots of factors that come to my mind.

The plateau of CPU clock speeds really hurt part of AMD’s classic play. By being a little behind Intel on clock speeds but selling chips for much cheaper, AMD could maintain a decent niche. Intel considered its bread-and-butter to be the latest and greatest fastest chips. The didn’t need to cater much to the lower end crowd. (Hence they were liberal about licensing their chips to other manufacturers after a bit. Let those people make $1/chip.)

With clock speeds flat, the focus on top-of-the-line stuff is on cores and such. But very few people need those chips. So Intel also caters to the lower end crowd now. Hence Celerons and such. So AMD has no segment to move into that Intel isn’t fighting for.

Also, the PC cpu market isn’t doing too great. Even Intel knows that they aren’t going to be making tons of dough here going forward. The ARM chipmakers are making truckloads of CPUs. AMD isn’t competing in this market and Intel has blown its chances to be a major player. Both companies have a big problem.

Plus good old time. Companies have winning streaks and losing streaks. And losing streaks are more deadly in tech and hurt the non-number 1 companies more. “Winning all the time.” is a fiction of seminar sellers.

A big part of it was a lack of discipline. Even when they were beating intel and making money, they spent it foolishly instead of making sure they would have the resources to keep going.

When I shopped for a processor last October, AMD seemed to be the best value in the mid-range. I wound up with an AMD FX-8350 8-Core Black Edition for $170, and it has served me well. Intel seems to definitely be the best value in the high-end, but you’ll pay for it. IIRC the cheapest Intel that compared was over $200.

When I upgrade my PC I generally spend about ~$150 for the processor and ~$150 for a gaming video card. That gets me the best of the last-gen stuff that is still plenty fast.

Any hypotheses as to why the GTX 970 has apparently sold a lot more units than the R9 390 (Steam Hardware & Software Survey)?
The 980 Ti and the Fury X are often in the same neighborhood in benchmarks. Was using HBM (which must have been expensive) the only way AMD could compete at the high end? Seems like such a waste especially since the RX 480 is using GDDR5.

I did a lot of shopping and checking of benchmarks before I gave up on AMD and plumped for an Intel CPU (I have this thing about the underdog, so I really wanted to get AMD, but couldn’t find one that actually represented VFM).

The benchmarks on the FX-8350 (which I just searched today after reading your post) surprised me - right up there with the big guys.

Seems like AMD was tuned up more for gaming? May not be anymore. I do remember building and selling AMD PC’s to gamers. They often wanted a specific processor chip.

Well, mainly because the 390 was about a year late. Wasn’t a bad card on release, but if you’re going to be late, you can’t just tie. The 970 had gained a lot of positive mindshare at that point, and became the default card for the 300 range. The 390 was (as is typical) also an enormous power hog. Any marginal !/ benefits the 390 had were erased if you had to upgrade your PSU.

Using HBM seems like another case of favoring brute force over efficiency. Not that it’s bad tech–it has its place. But it obviously wasn’t necessary for that performance level.