OT and tangentially related, but there was a discussion on Mastodon earlier between ex-Apple engineer Jonathan Wight @schwa and Colin Cornaby about Metal and Vulcan.
To my surprise @schwa was in favour of dumping Metal for Vulcan, whereas previously Metal sceptic Colin was opposed to it. I’ll post the initial link if anyone’s interested, and can post more of the conversation if people can’t access it for any reason.
View attachment 29795
Everyone in that conversation agrees that it isn't going to happen but as an interesting thought experiment, could it? Yes. As I linked to below (and I believe was mentioned in the conversation) Asahi Linux has gotten Vulkan 1.3 working on Apple GPUs (with lots of work yet to be done):
My superficial reading is that Colin is right and that indeed the underlying hardware isn't really designed for Vulkan. That said, most of the worst parts of trying to get fully conformant Vulkan working wasn't Vulkan itself but getting a working Vulkan implementation that could also be amenable to DirectX emulation (see April 26th Direct3D). How performant that will be in the long run is unknown, but it definitely seemed like Vulkan itself wasn't as big of a hurdle as you might expect though there were some rough edges (some of which non-Apple hardware shared mind you). As Asahi mentioned in their
Mastodon post, Apple could theoretically bake Mesa into the kernel and get Vulkan and OpenGL 4.6 working almost right away, but they can't do it themselves because the underlying graphics driver APIs are hidden and unstable. So in theory, it's very possible. That said is it actually desirable? and I don't just mean Apple having to give up control to Khronos (again) which we know how that went.
The final problem as Colin said and Jonathan agrees with is that one of the largest applications of "interesting graphics" is games and well ... Vulkan is also just a "port-to" API. There's no real value added there by adopting Vulkan. Jonathan describes Vulkan as a more fertile ground than Metal (though obviously preferring the Metal API in many ways), but that must be in applications beyond gaming.
As he says himself, Jonathan's real point comes later:
In your other thread about what Apple can do to catch Nvidia, we all agreed that Apple vastly needs to improve its documentation, tools, and developer outreach/support. It's the nuts and bolts stuff. It's not as sexy as language features and a streamlined API, but it's incredibly important. I feel like Apple is trying here with lots of new initiatives, but they need to go further and not get bored. They can't just run lean and wing it which is sometimes Apple's MO. More than just engineering, that requires an actual organization within Apple actually dedicated to pushing new tools and documentation, liaising with developers, creating online courses and tutorials, etc ... and again Apple historically runs very lean on head count and that takes lots of people.
So yeah hopefully Metal and developing a community around it gets some love from Apple, more than just support for whiz-bang AI. I kinda want to know who the one guy is ...