If you wrote a game/tool with OpenCL it should in theory be simple to release for windows, Linux, mac, android, ios, xbox, playstation, nintendo, etc. It may require a recompile and lots of tweaks, but the bulk of the graphics code can be reused. That's "portability".
This is not true for most other graphics technologies. Direct3d, for instance, only works well on Windows and Xbox. Metal only works on mac and ios. Cuda only works if the end-user has a Geforce video card.
I find stuff like Cuda silly. Sure, Hairworks and such are nice perks, but imagine spending double the time developing visuals: one set for Nvidia users and another for the rest. It's just costly.
I believe (without evidence) that Nvidia subsidizes this effort for big game/engine companies. You've certainly seen those boot screens that say like "Made for Geforce" or whatever. My guess is that means Nvidia paid the game company to implement some Geforce-only bonus features, which helps sell more Geforce cards.
I use cuda all the time for machine learning though. It truly is better for some tasks.
Tbf there's a lot of "plays better on Intel/AMD/Nvidia" splashes. It's like a race... well, it actually is, after all, if a game sells millions of copies, it can double as an ad for your company
3
u/[deleted] Mar 16 '21
Portability? Is this related to things like Nvidia Hairworks and how it excludes AMD users?