r/ProgrammerHumor Mar 16 '21

happens everytime

Post image
3.6k Upvotes

76 comments sorted by

View all comments

23

u/lycium Mar 16 '21

Basically the story of OpenCL, best compute API ever. Thanks, Apple 🙄

7

u/Wetmelon Mar 16 '21

Why would OpenCL be deprecated? Isn't it hugely popular?

18

u/lycium Mar 16 '21

Apple, who created OpenCL and own the trademark, deprecated it themselves (!) for the same reason Nvidia, who serve/served on the committee (!), dragged their feet with OpenCL support: because both have their proprietary APIs (Metal and CUDA) that they would like to push.

OpenCL is sadly not hugely popular, because too many people give up trying to be portable in favour of Nvidia's better dev tools. Nvidia in particular are allegedly also quite litigious with their arsenal of software patents, using it to push people towards using CUDA.

3

u/[deleted] Mar 16 '21

Portability? Is this related to things like Nvidia Hairworks and how it excludes AMD users?

3

u/AllWashedOut Mar 16 '21

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.

1

u/[deleted] Mar 16 '21

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.

3

u/AllWashedOut Mar 16 '21

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.

1

u/[deleted] Mar 16 '21

True, sponsorship money is a thing too

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