AI will take down Nvidia’s moat. When it becomes trivial to translate CUDA/PTX to HIP, SYCL or Metal, CUDA is no longer the moat, it becomes the intermediate representation.

trivial to translate (or transpile) - okay. trivial to understand the result - not so much. trivial to then evolve it - hm... perhaps a different story. still, it seems very likely now, that such "quick rewrites" are viable, not sure if an open approach to them is viable. a newly born open project that was LLM-derived, and not by a credible author, which spans hundreds of files no human eye has ever looked at, can only work for a closed organization, but will never be trusted by the general audience... just like that.

I don't see a hard reason. If it works it works. No hard need for a good, universal, and long lasting solution. At some point you just stack slop on top of slop and it works for your use case - and if it doesn't you'll slop it out yourself.

How do you know if it works? Not that "works" is different from "runs".

tbh... it seems to work contrary to all expectation that slop shouldn't work. but, then, just when I think about the incredible corporate slop i've seen here and there, that not only works, but pays. well I guess we have to agree - slop works. and that's fine.

Not sure if it's fine but when it pays it doesn't have to be.

> When it becomes trivial to translate CUDA/PTX to HIP,...

ZLUDA is already doing that, no?

I don't think we're at a point yet where anyone would trust ZLUDA enough to ship commercial products that rely on it. I would be delighted though, if anyone can prove me wrong.

No, but we can go there. This is an open source project. Anyone can put some more effort behind it and push it further. It's improving, AFAICS.

Src: https://github.com/vosen/ZLUDA

Unfortunately, many of very good ideas end with “it’s open source, anyone can contribute” because very few actually do.

Because while many want to work on the same project generally, the people who can or want to do that has so little time.

I personally had to put all my toy projects into hiatus to be able to keep up with life. Maybe if things get a little lighter, we can thaw them or start working on a couple of interesting ones which I stumble on.

What about spinning up a thousand agent and let them run wild ? Like many projects are doin

For CRUD, that can work. For something like that, it's almost impossible.

It's niche, performance and code-quality sensitive, needs deep and wide knowledge, and hardware dependent.

yeah yeah, "when" an often keyword with AI it seems. As Mr. E. Nigma put it - what always comes but never arrives? Meanwhile the moat deepens and it's build on inertia and laziness and Nvidia knows this really REALLY well.

Oh, absolutely. Nvidia is the modern day “nobody gets fired for buying IBM”. The reason we’re still using Unix is not because it’s the best, but because it had to much inertia to let any alternative become its successor. Similarly, C and HTML are maybe the most terrible yet extremely useful languages we have.

i swear people who are outsiders here have only clickbait takes; if you've never had to ship GPU code professionally you should just not comment on these things.

the source language has never been the moat. Nvidia sells to hyperscalers. Hyperscalers have armies of kernel authors who have no issue translating shaders by hand (or now with claude). Nvidia's moat is (and will remain for the foreseeable future) the entire stack. you cannot fathom the pain and misery of working on literally any other stack. if you've never debugged a GPU synchronization error or kernel panic due to some GPU firmware bug or fought absolute shit profilers hunting for perf you really have no idea what you're talking about.

EDIT: i can't believe this really requires saying but graphics and compute are not the same domain at all. if you work in graphics for GPU but not compute then you are still way out of your depth commenting. to wit: graphics people do not (and cannot) write CUDA kernels/shaders.

If that is your standard, I do have an idea what I’m talking about.

Ya? do tell us about your experience that leads you to believe mere translation is the bottleneck in the market...

I’m too old to participate in internet pissing contests.

this isn't a "pissing contest"? you made a speculative claim in a public forum and i'm challenging your authority to make such a claim. a "pissing contest" would be if i had said i've shipped hundreds of thousands of lines of shader code into prod and thus you clearly have no idea what you're talking about because you haven't (which is also true).

I could post the GitHub URLs of all the shader code I wrote that’s running on countless GPUs right now, but what would it change? I’m still just a random guy on the internet with an opinion that happens to be different from your opinion.

You can simply disagree with me, regardless of my experience (or lack thereof).

> You can simply disagree with me

that's exactly what i did and made an argument for why i think you're wrong. in response you provided exactly zero substantive remarks other than "i've written shaders" and then accused me of pissing.

also FYI it's clear from your profile that you've only worked on graphics (embree, blender, etc) and not compute. so i'll repeat: you're an outsider and you have absolutely no idea what you're talking about.

Outsider to what?

to the domain you presume to have authority to comment on

What domain do you think I was talking about?

If it helps you at all:

“if you've never debugged a GPU synchronization error or kernel panic due to some GPU firmware bug or fought absolute shit profilers hunting for perf”

I have done all of those things. As part of my full time job, for years.

Now that we’ve put all of that aside, can we stop talking about me and go back to discussing moats? What do you think are top three things that are holding customers back from buying AMD GPUs instead of Nvidia GPUs?

I could be misremembering, but I think Jensen Huang himself once called CUDA or the CUDA ecosystem their moat, and it certainly seems to be accepted narrative in the tech press. They may be wrong there, and you sharing your first hand experience here would be helpful to many of us readers here.

amd consumer gpus don't support rocm. That is basically the entire reason for Nvidia dominance. All Nvidia cards support cuda even the crappy ones

That’s not strictly true, they officially support some of them.

My 7900XTX is supported, I run local models via rocm all the time recently, mostly to play with/experiment on, Vulcan works as well and for some models works better (or the trade offs are better for that use case).

Their mistake was simply not picking and going all in earlier, they let nvidia become the defacto standard without even contesting it on both the hardware side and software side and that’s a hard though not impossible comeback to make.

Long term I think they’ll catch up in capability if not market share because simply too much money on the table not to.

https://rocm.docs.amd.com/_/downloads/radeon-ryzen/en/docs-6...

some of them... lol.

Not useful. A crap NVIDIA card can get you started with CUDA. You have to reach students. Without students, there's no future

But claude will not be able to debug the whole stack? I have no experience in the domain. But as an outsider, it seems to me, that if the rate of progress is maintained, i don't see why agents wouldn't be able to do it in a couple of years

If your stack is open source, why not? I’ve had good results with pointing an LLM to a debug build of the GPU compiler when I saw it crash. It just seems you need to periodically remind them that gdb exists to prevent it from littering your drivers with printfs.

Most modern graphics is compute. Pixar, Dreamworks, Sony, etc do not use Vulkan to render their movies. It’s CPUs or CUDA.

“graphics people do not (and cannot) write CUDA kernels/shaders” is just not true at all. All it would take to verify that would be things like reading the introduction of the OptiX documentation, a small sample of SIGGRAPH GPU papers or the Blender/Cycles source code.

Wait, I have an idea: What is your qualification for talking about graphics programming? If you cannot provide credentials, I will have no other choice than to claim you don’t know what you’re talking about, based on the criteria by which you judged my comments so far.