Hacker News new | ask | show | jobs
by Raymonf 1483 days ago
Why wouldn't GPU support for the M1 GPU require Metal? You should be able to run PyTorch on the CPU of a Pi?
1 comments

Metal is an unnecessary complication.
How so? NVIDIA GPUs have their own APIs, AMD does, Direct3D is its own. The Apple platform acceleration APIs are Metal. The MS acceleration APIs are all generally Direct3D, etc.

The fact the you want Apple to support other platforms doesn't mean that they're wrong for not doing so. They same arguments to require Apple to support your preferred API also applies to MS, NVIDIA, AMD, etc and the same arguments to not do that apply them all as well.

That other companies use shitty proprietary code to lock out competition doesn't make Apples attempt to do the same any better. It compounds the error and wasted effort. In fact Apple's is the worst of the lot you mention because at least you can use alternatives with the others.
Apple’s is the result of their experience promoting OpenGL and OpenCL. They found GL and CL both remained resolutely in the past, and people also seemed resolutely opposed to using them.

So GL and CL had to make a compelling argument for why apple should continue to invest in the technology, and even now they still aren’t able to show a single compelling argument for them being better than any alternative.

Personally I would have rather a single open API, but the open API did not appear to be super interested in competing with the other platforms. The end result is the open platforms turn into a pile of expense, licensing, and engineering for behind the curve technology and API.

They don't have to develop it. They just have to not prevent it from existing. If theirs is genuinely better, it will get used. But Apple is too scared to openly compete so they lock down and artificially limit competition.
Anyone can implement the opencl and OpenGL APIs on top of metal. Apple isn’t preventing that.

But native OpenGL requires apple writing OpenGL implementations for their hardware. It requires apple spending engineering time implementing misfeatures from OpenGL and opencl in order to support APIs that are only every considered the backup API.

Then what API are you going to use on macOS?
You're not permitted to use anything else, thus: too bad it has a requirement for metal.