Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Metal is racing against Vulkin as well, because Apple needed to have their own standard they owned. Except Metal has zero support outside of Apple products.

Besides, what Metal represents is Apple's attempt to have yet another vector for their infamous walled garden and vendor lock-in strategies.

Further, the article and the website are intentionally and blatently biased. Quotes like this showcase their extreme bias:

> One can be righteously indignant that Apple isn't subsidizing everyone else with support for their platforms, whether CUDA, Vulkan, or even Android. But such emotions won't have any bearing on the final outcome of who wins and who loses in the market for developing and commercializing the graphics technology of the future.

The absolute derisiveness of open standards coupled with their insults against those that would showcases quite well the position of the article, its authors, and the website itself.



Yes, AppleInsider is totally biased.

But the competition here is not "Open Standards", it's CUDA, which is Nvidia's own proprietary standard. There is no Open Standard which has any kind of market share.

The claim that Apple is against Open Standards is a bit misleading in this case. Apple invested a lot of money and spent years pushing Open Standards in this market in the form of OpenCL... the open standard which Nvidia refused to support and in general the industry ignored.

Apple is no angel and in many other places they've ignore standards, but in this case, there have been standards around for years and both the competition and the market have largely ignored them. Singling out Apple here is just wrong.


Isn't Vulkan the open-source specification they're ignoring in favor of their own?


Metal and Mantle were both proprietary frameworks that were in development at the same time.

AMD announced the existence of Mantle at their Developer Summit in November 2013. Apple announced Metal at WWDC the following June and shipped it that fall.

By the time AMD donated their Mantle code to Khronos to serve as the basis for Vulkan, Apple had already shipped Metal.


> By the time AMD donated their Mantle code to Khronos to serve as the basis for Vulkan, Apple had already shipped Metal.

Metal v1 was so woefully incomplete, AMD was in no position to ship something similarly limited. Vulkan 1.0 is functionally similar to Metal v2, which shipped several months after Vulkan 1.0.


They're fighting on the CUDA-OpenCL-MSL layer.

They're not really talking about the higher level Vulkan-OpenGL-Metal stuff.

So CUDA and OpenCL are the specs being ignored by Apple.

My own opinion, everyone should probably just use OpenCL and contribute to it as necessary, but that's not gonna happen.


Again, Apple invested huge amounts of money and effort into OpenCL with the previous generation of the Mac Pro and got very little adoption. Suggesting Apple is ignoring OpenCL is simply not true. They made a significant effort to make it work and it just didn't pan out.

That Apple hasn't invested in Vulkan is a fair criticism, but Vulkan hasn't exactly been grabbing market share either.


Was their lack of OpenCL adoption on the trashcan Mac Pro really all attributable to OpenCL?

Or was it because the best GPU option it ever had was the FirePro D700 from 2014?

I guess you could buy a bunch of eGPU enclosures and hook up better GPUs over Thunderbolt (I think those ports are effectively PCIe x4), but regardless of how much effort they may have put in on the software side, they didn't keep up with the hardware. And being a proprietary GPU module in a thermally limited environment, they didn't have 3rd parties keeping up with it for them.

Blender (specifically their Cycles rendering engine) was one piece of software that supported OpenCL on the Mac, and AMD put a bunch of work into getting that working as an alternative to CUDA. It's now been disabled on account of Apple deprecating OpenCL. Bummer. https://lists.blender.org/pipermail/bf-committers/2018-Decem...


> Was their lack of OpenCL adoption on the trashcan Mac Pro really all attributable to OpenCL?

I'm not sure I follow you here. The trash bin Mac Pro was flawed from day 1 and the fact that it's seen few upgrades (and no significant upgrades) in the 6 years since hasn't helped it a bit. I'm not attributing the failure of the Mac Pro to OpenCL, it flopped all on it's own.


I'm not attributing the failure of the Mac Pro to OpenCL, I'm attributing the failure of OpenCL to the Mac Pro.

If they wanted OpenCL to unseat CUDA (or even compete with it) for professional GPU compute users, they needed competitive GPU hardware, and they didn't have it.


There was plenty of OpenCL shipping with AMD on other platforms. Apple is not interested in a market competitor to CUDA, only an alternative since they don't ship Nvidia GPUs across their lineup.


Vulkan Shading Language as it stands, is likely a non starter, you're right. That explains the lack of adoption.

That said, I wasn't advocating to try and beat that particular dead horse. I was advocating for OpenCL. I understand why the Metal Shading Language is superior, but OpenCL is still very good, and works across platforms to boot.

CUDA and MSL are really nice. I just wish both NVidia and Apple would add to OpenCL and let the industry move forward with that standard and the ability to use whatever hardware we wanted.

Now all that said, I also understand Apple's hesitancy with OpenCL as well. It's definitely one of those "fool me once, shame on you" kind of things.


Apple created OpenCL and donated it to Khronos.

The point of the trash can Mac Pro, was to use OpenCL to leverage two mid level GPUs as a cheaper and higher performance alternative to one high end and expensive GPU.

Developers never really adopted OpenCL, and the whole idea was dropped.


Plus Khronos, as usual, was too C focus while Apple wanted to go into another direction.

Note how all proprietary shading languages are actually C++ dialects.

Only after loosing to the multiple language CUDA eco-system did Khronos start discussing about supporting C++, and even today it isn't as if OEMs are racing to bring SYCL drivers into the market.


First OpenCL needs to make it to use C++, Fortran, Julia, .NET, Java as easy as CUDA.


You can use Vulkan as a pretty much direct replacement for OpenCL


No you can't, because Vulkan forbids the kernel execution model. So that's a huge gotcha that a lot of beginners fall into. Only the shader execution model is usable in Vulkan.

Both Vulkan Shader Language and OpenCL get you SPIR-V code, but they are not drop in replacements for each other.

In practice, you have to use CUDA or OpenCL. CUDA, because everyone uses it. OpenCL because it runs everywhere and you can easily translate all the opensource CUDA into OpenCL without as many gotchas as trying to get to Vulkan Shading Language.


What's so bad with rewriting your kernels for Vulkan compute? This is what I have done up to this point as I refuse to use CUDA


OpenCL doesn't run on Android.

Google has the poorly documented C99 dialect named Renderscript.

Some OEMs do actually ship OpenCL drivers, which can only be safely accessed via a device specific SDK.


When you say "They" do you mean Nvidia, the market, or Apple?


Metal predates vulkan by over two years. If anything vulkan is a response to it, not the other way around.


AMD Mantel predates and inspires all. Vulcan is based on Mantel which was donated to Khronos.


Which was proprietary to AMD and was donated to Khronos, because otherwise they wouldn't have anything to stand on, and would come up with another Long Peaks.


Further, the article and the website are intentionally and blatently biased

Seems like an unnecessary criticism. It's an Apple fan blog, not journalism. Nobody is going to Apple Insider for balanced information about tech trends.


AppleInsider is really excessively biased, even for an Apple-focused site. I'm an Apple user from way back and I rarely find their opinion pieces useful.


I agree. At first glance, they serve the same niche, but in reality there is a huge difference in credibility between AppleInsider and MacRumors.

(I don't have a relationship with either site.)


> Nobody is going to Apple Insider for balanced information about tech trends.

Many people are going to click on an HN link and assume it's a reasonably objective technical source. I didn't realize it was an Apple fan blog until I was well into the article.


I like to think the average Hackernews is a bit more savvy than to assume all or even most links here are objective. Still, there's no harm in saying "yo dawg, this article has an agenda, so just be aware of that when you read."


The name of the site "Apple Insider" didn't give it away?


Sorry if I don't know the background of every website on the Internet. There are a lot of people who use an Apple computer because they were the best choice at the time they purchased the computer, and might even have non-Apple computers they'd like to use also, not because they've been baptized at the Church of Jobs to fight in the Cook army to defend the motherland and conquert the rest of the world.


It isn't just that it was biased, but ridiculously so. It is sycophantic enough to make one wonder if it was a press release if I didn't know better that Apple the corporation wouldn't be writing these.

The praise is lavish enough and thin on substance to make it offensive to the taste if you were expecting any kind of real substance on Metal or direction for it.


>Metal is racing against Vulkin as well, because Apple needed to have their own standard they owned.

Wait? What?

I'm pretty sure Metal was around long before Vulkan?

I think it would be more accurate to say that Apple and MS should switch to Vulkan.


Not exactly. Its probably more accurate to say Apple wasn't willing to wait for Vulkan to be shippable and made their own. Metal, Vulkan, Mantle and DX12 are all part of the same industry wide movement.


Vulkan wasn't even announced before Apple was developing Metal.


As in they weren't willing to wait for any open standard, nor spearhead one themselves.


And NVN, LibGCNM.


Metal and Vulkan's predecessor, Mantle, were under development at the same time, although Mantle was announced to the public several months sooner than Metal.


Mantle was released before Metal.

I think it's worth noting that Mantle was proprietary, and Vulkan is an open standard that was later spinned off it.


> Mantle was released before Metal.

Metal was released soon after and then as a finished "product" in iOS. It likely has had more than a year in development inside Apple before the release too.

You make it almost sound like they coughed up Metal in the few months after Mantle was shown.


So the release of Metal to the public was over 6 months after the release of Mantle.

But my point was that Apple couldn't use Mantle even if they wanted to, because it was proprietary.


Apple deprecates everything all the time.

If they want, they can switch. In the long run Metal either: has no future; or must be opened; or will remain a proprietary tech with little advantage and recurring dev costs for both Apple and app devs.

With the existing competition, I personally don't think it will be both opened AND widely adopted. Probably already too late. So either you really want to get on Apple computers now, or the tech is, IMO, basically irrelevant.

Whereas OpenCL is, yes, laborious, but still relevant in the open world. And Vulkan is also used across different vendors.

Apple can get away with their current "my way or the highway" attitude solely because of their user base actually not negligible, and somehow "rich". Devs are not liking the platform a lot, and I phrased that carefully to be kind. Most of their "pro" product have been discontinued or have become laughable. The new Mac Pro is an interesting counter-example, but for a very niche market; which means that even with their pile of cash, they choose to concentrate instead of attempting to conquer new markets.

Given they sell basically luxury products, it is doubtful this will remain like that forever. They might transition their model, but I'm not sure toward what. Everybody talks all the time about services, but that's clearly not what vendors of gadgets are relying on for now. As for artificially monopolistic or quasi-monopolistic "app stores" and/or "clouds", I do not even consider that a "service", and they obviously rely completely on the consumable gadget model.


Apparently everyone keeps forgetting Sony.


Also, Vulkan is quickly becoming the lingua franca of graphics APIs. Vulkan can be implemented on top of Metal, which means that developers have next to no reason to implement Metal directly.


Moreover, it is even implemented[1] by the Khronos Group itself.

[1] https://github.com/KhronosGroup/MoltenVK


Actually, it's Valve paying the bills for the MoltenVK guy so that MoltenVK is part of Khronos.

Basically, Valve is saying: "OS X is a completely useless environment but has lots of people who spend more money than Windows users. So, we can make lots of money if we can maintain one codebase by writing a shim wrapper even if we have to eat performance."


Performance could be a reason. It’s highly likely that implementing a low level graphics API on top of another low-level graphics API will have some performance gotchas here and there.


On which platform exactly?

It’s also important to note that Vulkan at this point is as fragmented as OpenGL as far as extension support coverage goes.


CUDA is not an "open standard"


That was the same paragraph I stopped on and thought, “How biased is this?”

All mentions of the machine learning efforts seemed vague, as well.

That was the main reason for me for reading the article.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: