Nvidia, on the other hand, invested tons and tons of money to make CUDA good over the last like 15 years, while AMD has not really put any serious effort into AI/ML workloads. It's mostly a software support problem, not a hardware problem to my understanding.
That’s not to mention having to fiddle with the drivers/games more than I was accustomed to, which IIUC is more a consequence of having less market share and thus not being a priority for game developers to work out of the box. I can excuse that, but not crashes or reinstalling every couple months.
It's been 11 years since Linus gave Nvidia the finger. Nobody who is thinking of possibly running Linux should ever buy an Nvidia product. Yet Nvidia is still very commonly spec'd into Linux builds even today.
https://www.gamingonlinux.com/index.php?module=statistics&vi...
In the Windows land it's indeed mostly Nvidia.
They’re stuck on the concept of rasterized graphics being the ground truth in gpu value.
Then they’re shocked when the wider consumer market doesn’t hold their perspective.
AMD hasn’t had the big picture vision that nvidia has had. For example, with Vega AMD had a gpu architecture with exceptional async compute performance a generation before nvidia was competitive.
AMD then abandoned Vega, switched to a leaner and less compute friendly rDNA architecture while nvidia went in the opposite direction, pushed compute heavy features like raytracing and dlss and AMD hasn’t had an exceptional response since then.
Creating reflections using rasterization requires shortcuts and sacrifices. And once you see them, you can't unsee them, and then you find them visually distracting.
There are basically 3 ways to create reflections without ray-tracing:
1. Double the geometry and render it in the reflection. This is rarely the approach taken because it's incredibly resource intensive. Oddly, Duke Nukem 3D back in what, 1996? did this, but that had pretty simple graphics. Genuinely not feasible for any sort of reflect surface that is curved.
2. Screen-space reflection: Just take the rendered image, invert it, and overlay it onto the reflective surface. This is probably the most common way to do it. It's fast and looks decent. The problem is that it requires the reflected image to be visible on the screen. When it's not, there's no reflection. It creates a bizarre effect when, for example, you're looking over a body of water at something in the distance, and you see the reflection in the water, but as you move the camera down, the reflection gets cut off and eventually disappears entirely.
3. Using a static image as an environment mapped texture. Apex Legends does this for shiny surfaces. It creates a great illusion of a reflection, but taking even a second to actually look at it, you'll notice that the reflection doesn't actually show what it should unless you're standing in the exact right place.
I will concede that gamers typically don't notice the issues created using methods 2 and 3, especially in a game like Apex Legends where you're moving around too much to notice.
But me? I dunno. I notice and get distracted.
EDIT: DLSS, on the other hand, is basically a crutch. It's not surprise that DLSS became a big thing at the same time RTX did. RTX requires more juice to run at full resolution than the GPU has, so they introduced DLSS to render at a low resolution and upscale it.
Crypto really only managed to use it because there was more money to be made using AMD, justifying the wrangling needed to get compute to work on it.
Now they continue to waste their potential with ROCm's design choices which make its hardware support range very limited.
AMD is already backporting ROCm to "lesser" hardware [0]. I wouldn't expect them to spend too many resources on going back further than that though. I'd rather see them improve their newer stuff. The larger issue is that it is impossible to rent time on the super high end GPUs that they use to build the super computers with... nobody offers that and it is something I'm working on fixing.
[0] https://www.tomshardware.com/news/amd-enables-rocm-and-pytor...
$250-270 is fine for this type of product even today.
Similarly, the 4070 is also fairly attractively priced even compared to 6800XT/6950XT or 7800XT. More efficient, better feature set, same performance tier, similar perf/$. But people still get upset about intangibles like memory bus or die size (despite this already being measured in the performance!), or just don’t want to admit that wafer costs and R&D costs are rising in the post-Moores law era. Operating margins were actually down relative to the last few gens (until AI hit), and were broadly similar to 2012 levels. This is just what it costs now, and smaller die take the worst of the cost increases because memory controllers and pcie don’t shrink anywhere near as much as logic (the gpu cores). There is a “minimum cost floor” that has been rising substantially due to this.
I think Apple proves that it is possible, and possible relatively quickly.
And Rocm supports the higher RDNA2 and the highest-end RDNA3 consumer GPUS - [0], though only the top RNDA3 cards in linux [1] (officially - other cards often do "work" but YMMV)
One thing Nvidia are much better at is supporting the whole stack - while I doubt many people are actually running much ML on 8gb mid-low end cards, it seems a hook for sales if people "could" do that, and a starting point for personal experimentation. I know multiple people who buy low end Nvidia GPUs because they "might" experiment with CUDA some time in the future.
[0] https://rocm.docs.amd.com/en/latest/release/windows_support.... [1] https://rocm.docs.amd.com/en/latest/release/gpu_os_support.h...
but this is very important. Many develop locally before sending it to a cluster, especially if you only have limited credits available.
For as long as I can remember, Jensen has been telling us during all hands meetings that Nvidia is a visual computing solutions company, not a semiconductor company. (The “visual” part has only been dropped in the past few years.)
Nvidia sells hardware, but they also sell complete solutions, and everything in between.
I do care that Geforce experience works flawlessly. I mean, it doesn't, and my grandkids will probably still use DDU, but when shadowplay works it's indispensable as a gamer (or even for recording video calls.) I'm sure AMD has an alternative or I could use OBS, but I'd rather just pay a premium and rarely have to think about it. And also CUDA.
It's in the article: "...of the company's $18.12 billion in revenue, $14.51 billion was generated by its data center division."
They spent over a decade building up CUDA into the industry standard for GPU compute programming. That's why it's so hard for anyone to compete in this domain. AMD is doing better in gaming, but that's practically a sideshow business for Nvidia now.
I know, but my point is there were heavy incentives to compete with Nvidia. But nobody did, at least not with the same intent. And now they're (Nvidia) raking it in due to the AI/ML wave.
If others had comparable GPU capacity and know how, the market wouldn't be so skewed in favour of Nvidia.
Nvidia's success is rooted in design and business choices made a long time ago. They were bets at that time, as ambitious hardware initiatives need to be, and other vendors like AMD made different bets. Nvidia won their bet more spectacularly than others, and now gets to benefit from their lead as others slowly work to reorient their ships in its direction.
But making a GPU is hard. Making a good GPU is even harder. This becomes a chicken and egg problem. If NVidia's hardware has quirks, and you're a game developer, you optimize your game for Nvidia's hardware. If someone else tries and builds a GPU, they discover that many, popular, games run like sh*t. Because of tens of years of strange workarounds to ship a game, drivers rewrite commands for specific games, game devs abuse the directx spec or do it wrong.
However, Nvidia set out 10-15 years ago to corner the professional general purpose GPU compute market with a software layer called CUDA. Software was written and optmised for CUDA, and not any other generic graphics library for reasons I don't know (I'm not a graphics developer, just a gamer). So now Nvidia enjoys a moat in gpGPU (as it was called).
The simple answer is, like many markets with few competitors, they like prices high. It's like a point of no return if they undercut their crappy workstation graphics.
The products that are red hot right now also use HBM not VRAM.
And the ML community isn't very motivated to port their code from nvidia to amd because the nvidia tax isn't too bad.
If AMD could take one of their existing 24GB consumer cards and quadruple the RAM, though? Open source ML efforts would have support within days.
And nvidia couldn't respond to undercut them without also undercutting their cash cow server GPUs.
Intel is making some better moves lately but the impression I get is they're losing money on every sale and need to buy their wafers from TSMC like AMD. I'm not sure how long they'll stomach that situation or if they'll eventually get their GPUs onto their own process.
They ironically could do exactly this because the MCD disambiguates the memory config from the gpu config. They would need a new MCD die but they could put four or 8 memory controllers on a MCD instead of 2.
Nvidia isn’t going to sell gaming cards at an operating loss out of AI money. If the consumer market is soft then it’s soft, and with the general slowdown in Moores law cost progression it doesn’t make sense to have “firesale gens” that set an impossible standard for future gens to beat.
~20% perf/$ progression per generation is going to be about what’s sustainable, because that’s about what tsmc is giving the chip companies. You can “cheat” by using older worse nodes like ampere and turing did, and like AMD did with the RX 7600, to keep costs down, but that’s a one-time boost and consumers grow to expect that pricing going forward. It’s been a market-strategy mistake and has resulted in mis-calibrated consumer expectations around how much costs are actually increasing. Just make the products you can make and sell them at the same margins you’ve always operated at.
Super refresh should recalibrate a couple of the worst misses, 4080 MSRP is indefensible and 4070 ti is just way too expensive for a 12gb card, but, 4060 and 4070 and 4090 are all pretty on-target and are not particularly high-margin products especially compared to dirt cheap Turing and ampere chips.
If you mean gaming? AMD has had better mid range gpus since the rx 480 was released in '16. Nvidia has been resting on their laurels and AMD has recently seemed to be fine playing the 'price is right' game where they price their gpus ~ 10% less than nvidia and don't even attempt to take market share.
[1] https://www.tomshardware.com/news/intel-arc-graphics-cards-a...
But Nvidia and AMD have a huge time advantage on Intel. It's going to be a few generations and billions of dollars before Intel can catch up, assuming they keep with it.
Intel has been in the integrated GPU market for awhile but with little pressure to innovate and very different design goals.
Intel and AMD just keep burning developers over and over.
[1] https://www.computer.org/publications/tech-news/chasing-pixe...
Nvidia has been making dedicated GPUs that entire time, while Intel basically only started. Intel has a LOT of catching up to do.
Like are companies like this a credible threat? https://www.cerebras.net/
I hear a big part of Nvidia's lock-in is that they provide software that runs these AI projects?
Nvidia’s problem is that every company is a credible threat because in the ongoing gold rush they can’t make enough shovels to meet demand and damn there is gold in them thar hills. People are going to do literally whatever it takes to make their competition’s products work. If you are selling a shovel, even a shitty shovel, you are a competitive threat to Nvidia right now.