Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

f54da

macrumors 6502a
Dec 22, 2021
504
186
If you run an opengl program under M1 and view trace in lldb, you will see it goes through `AppleMetalOpenGLRenderer`. Implemented at /System/Library/Extensions/AppleMetalOpenGLRenderer.bundle.

So they bothered to at least make their own translation layer, when they could easily have chosen to just drop support on M1 entirely.
 
  • Like
Reactions: BWNYC and Joe Dohn

Joe Dohn

macrumors 6502a
Jul 6, 2020
840
748
If you run an opengl program under M1 and view trace in lldb, you will see it goes through `AppleMetalOpenGLRenderer`. Implemented at /System/Library/Extensions/AppleMetalOpenGLRenderer.bundle.

So they bothered to at least make their own translation layer, when they could easily have chosen to just drop support on M1 entirely.

I see. Thank you for the information here.
 

jmho

macrumors 6502a
Jun 11, 2021
502
996
The push from others to weave OpenCL with C++ is another factor to why Apple is walking away. There is a Swift (and previously ObjectiveC ) agenda pushes regardless of where the rest o the HPC market is going.
Metal is far better integrated with C++ than Swift. Metal Shading Language is based on C++17 and Metal is one of the only frameworks with custom C++ bindings.

Also most of the sample code is in C++/Objective-C and not Swift.

Apple are stubborn, but I think even they realized that swapping out C++ for Swift would be a step too far.

Also Swift isn’t that great for Metal anyway because Swift’s entire thing is type safety while Metal is mostly about working with pointers to huge buffers full of raw memory.
 

Yebubbleman

macrumors 603
Original poster
May 20, 2010
6,024
2,616
Los Angeles, CA
Architecture is also an approach, that can change, Apple changes more than most major companies. There is nothing preventing Apple from releasing a new/modified developer guidelines or architecture.

Apple is not going to design an entire hardware platform that defies the conventions of the PowerPC and Intel Macs that they've shipped for the last 25 years (as well as the rest of the PC industry) and then flip that on its head again for the Mac Pro. That's not how they generally do things, especially when it comes to THAT Mac. Is it a 100% definite? No. Everyone seems to love glomming onto that. But I'd be willing to bet the cost of one of these machines that I'm not wrong here.

What apple is doing currently isn’t a fact, unless you have insider information about future road maps. Apple like any other company will change its course on revenue, performance, and other factors. If Architecture was a fact we would be stuck with old x86 or other outdated chips.

That's not how (a) architectures and (b) computers in general work. Again, Apple is not going to create a radically different system architecture (and I'm specific when I say "system architecture here; not referring to the ARM architecture at all here) and then change it yet again for the Mac Pro. They did what they did with the Mac Pro in mind.


2 is not obvious. They've done switched graphics before.

They have not done so as radically as they did with the advent of Apple Silicon SoC GPUs. And it seriously stands to reason that, with the kind of GPUs they have in things as high-end as the M1 Ultra version of the Mac Studio, they're not going to change gears that radically for the Mac Pro. Could they do Afterburner type GPU assist cards? I suppose they could. But you're not going to see PCIe GPUs the way we had on every PowerPC and Intel Mac that had a discrete GPU before.

eGPU is unlikely, but a mac pro without a PCIe GPU option would be vastly less successful than one with it. There are a lot of workloads that aren't metal, aren't going to be metal, and are critical for this market.

While that may be true, Apple doesn't seem to agree with you. Or, they're gambling that those workloads could transition to Metal and/or be optimized for their GPU and accompanying SoC components (ProRes encode/decode engines and such). One of the two. That's the double-edged sword of Apple's now-total control over the Mac platform in the Apple Silicon era; it's their world; developers just build for it.

Not set in stone until they actually release the machine.

Apple can change it's mind after all, especially after 2 years.

Sure! With that logic they can switch right back to Intel! The point isn't that they CAN. It's that they WON'T. That's a key distinction that you all are overlooking here!


Hard rumors? TOO EARLY TO KNOT UP THEM KNICKERS. the rumors may prove to be accurate, but until then, they are just that

Apple told everyone how this transition was going to go. I reiterated what Apple said and then logical conclusions that one can and should draw from that. You wanna call that rumors, be my guest. I'm not here for semantics debates!


And what if we all wait to the day when Apple announces the Mac Pro? Would that be a possibility? And wouldn’t it be nice when Gurmann and all the other idiot leakers shut the **** up?
Am I the only one who likes to be surprised at Apple keynotes?

If you like being surprised at Apple Keynotes, what are you doing here? This is like the spoilers page for Apple Keynotes. :p
 

leman

macrumors Core
Oct 14, 2008
19,521
19,675
OpenCL is 'stuck' because Apple gave up. I understand that Apple was 'fed up' but that was a bit premature. OpenCL 3.0 came in 2020.

OpenCL is stuck because OpenCL is effectively dead. Khronos prodding the cadaver with an electrode once in a while doesn't make it more alive. Serious compute nowadays is all about proprietary frameworks: CUDA for Nvidia, HIP for AMD etc.


The push from others to weave OpenCL with C++ is another factor to why Apple is walking away. There is a Swift (and previously ObjectiveC ) agenda pushes regardless of where the rest o the HPC market is going.

I don't think Apple is averse to C++ as such. Metal Shading language is based on C++ 11 and Apple recently released C++ bindings to Metal. They are also generally quick with keeping up with latest C++ standards and they use C++ internally quite a lot.

But you mention a very interesting topic here. CUDA has popularised using C++ based DSLs to mix CPU and GPU code in the same source, and initiatives like SYCL are coping this approach. Personally, I am not a big fan. This model is targeting a typical HPC programmer who just wants to write some code and not to care about interfacing details (another technology that's similar in spirit is OpenMP, and I dislike it for similar reasons). But this convenience comes at a high cost. These tools lump too many things together, they lack tooling flexibility, leave you at the mercy of the framework implementor, and of course, they mess with the C++ standards.

The main reason why this model became so popular is because low-level interfacing in traditional APIs is just so incredibly awful. Merely sending some data to GPU and back can be a total nightmare. A C++ dev doesn't want to deal with dozens or more of API calls and difficult to understand synchronisation primitives. To put differently, it's not that CUDA is that good, but that GPU APIs are that awful.

Metal programming model is much more interesting to me, as it keeps the execution domains separate (and thus gives you more flexibility), but massively simplifies the interfacing between them. In this, Metal follows the well understood and conceptually simple shared memory RPC model. Apple can (and should) still make things easier. First, they should introduce unified virtual memory, so that pointers don't need to be marshalled between execution domains. Second, the interfacing API can still be made simpler. For example, keep the separation between CPU and GPU code at the source level (just like web does with JS and CSS), but add some syntactic sugar for importing GPU kernels as native functions. I think just implementing these two things will massively improve the GPU programming experience on Apple platforms without suffering from the same issues as other frameworks.

Worse case Apple has taken the "we're big enough people have to eat whatever dogfood we provide" stance. A Metal (and no alteratives) stances isn't going to help in attracting 3rd party GPU vendors to come to the platform at all. Combined with Apple hyper focused on throwing dGPUs out of as many Mac systems as possible as the default GPU. It is just a very small market for which even less code is portable too.

You are most likely spot on with this description of Apple strategy. However, I don't share your pessimism. There is evidence that their strategy is working, albeit slowly. In the last two years we saw popular framework implementing Metal backends. Sure, most of this was sponsored by Apple, but it's pretty much the first time that one can really use GPU-accelerated machine learning or rendering on a Mac.
 
  • Like
Reactions: TechnoMonk

leman

macrumors Core
Oct 14, 2008
19,521
19,675
Hehe, in my post I said it was based on C++ 17 so when I saw this I wondered which one of us was correct.

Turns out it's based on C++ 14 :D

Yeah, Metal doesn't support my beloved fold expressions and I always forget whether those are in C++14 or C++17 :D
 

bobcomer

macrumors 601
May 18, 2015
4,949
3,699
Sure! With that logic they can switch right back to Intel!
I actually wish they did, it would make my use of Macs easier. :)

The point isn't that they CAN. It's that they WON'T. That's a key distinction that you all are overlooking here!
I just don't know. I really, really, don't see any use for a Mac Pro if they don't change their mind. Might as well go with a Studio Ultra and forget about any expandability. It'll be cheaper.

Thunderbolt/USB4 sucks compared to internal PCI expansion, but whatever. I know I wont be buying one.
 
  • Like
Reactions: Romain_H

Yebubbleman

macrumors 603
Original poster
May 20, 2010
6,024
2,616
Los Angeles, CA
I actually wish they did, it would make my use of Macs easier. :)

I'm pretty bummed about the end of x86-64 virtualization and Boot Camp, and I'm generally not a fan of how much more closed Apple Silicon Macs are as a hardware platform from Intel Macs. But for the future of macOS, I think this isn't so bad! (Plus, I really hate the T2 Security Chip with a passion and, professionally speaking, I'll be much happier when I don't have to deal with T2 Macs as part of my day job.)

I just don't know. I really, really, don't see any use for a Mac Pro if they don't change their mind.

The Mac Pro is for people that need expansion. The ability to swap out an SoC in favor of another one isn't as convenient (or as affordable), but if that's an option, that's not horrible! Otherwise, it's those PCIe slots! If you don't care about PCIe slots and don't need whatever is higher-end than Mx Ultra, then yeah, probably not the Mac for you. The Mac Pro was never the Mac for me. I figured if ever I needed to use one, I'd be using one owned by my employer and not one that I owned.

Might as well go with a Studio Ultra and forget about any expandability. It'll be cheaper.

Thunderbolt/USB4 sucks compared to internal PCI expansion, but whatever. I know I wont be buying one.
I think the Mac Pro is for those that can't do that. I think the Ultra configuration of Mac Studio is meant for those that were fine with an iMac Pro. Not every professional out there needs PCIe slots or more than 128GB of RAM. That said, there are surely those who do.
 

bcortens

macrumors 65816
Aug 16, 2007
1,324
1,796
Canada
I actually wish they did, it would make my use of Macs easier. :)


I just don't know. I really, really, don't see any use for a Mac Pro if they don't change their mind. Might as well go with a Studio Ultra and forget about any expandability. It'll be cheaper.

Thunderbolt/USB4 sucks compared to internal PCI expansion, but whatever. I know I wont be buying one.

I think they will do internal expansion but it will be for things like sound cards and storage cards and other useful features like that.

As for accelerators, I don't think, nor would I want, them to backtrack on the Unified Memory Architecture, I really like the fact that we don't need memory copies to and from separate GPU memory any more and I think that it will be even better when Apple can drop support for external GPUs. I think the M(n) Extreme will have more than one chip fused together but it will all be on one package.

I would love it if you could basically have internal compute nodes - putting M(n)Extreme chips onto a PCIE/MPX card which essentially act as separate compute nodes on a network, except that network is internal to your computer! It would be even better if they added APIs to make distributing work to different nodes easier.
 
  • Like
Reactions: AdamBuker

PauloSera

Suspended
Oct 12, 2022
908
1,393
This has been obvious since the introduction of Apple Silicon. It's also been confirmed by the two most reliable leakers, Bloomberg's Mark Gurman, and our own @Amethyst who leaked all of the details about the Mac Studio before Apple announced it.

There are folks on here that don't want to hear any of this, because it doesn't fit the mold of what they want in a Mac Pro, but the era of the Xeon is over. Some won't realize it until Apple actually announces it, but denial ain't just a river in Africa.
There are no folks on here who actually buy top end Mac Pros anyway. They just bitch about them.
 

PauloSera

Suspended
Oct 12, 2022
908
1,393
If Apple gives customers zero of what they want, Apple will have zero customers. No one will buy a $6000-$24000 Mac Studio Pro for internal expansion when you can buy a $2000-$4000 Mac Studio and use Thunderbolt for external expansion.
Hence why when you go to the Apple Store today...you cannot buy one.
 

bobcomer

macrumors 601
May 18, 2015
4,949
3,699
But for the future of macOS, I think this isn't so bad!
Not for me, I expect I'll have to give it up eventually unless a hardware solution becomes available for running x86 VM's. There's just no advantage to me running it, even at home if I can't do me work on it, and for that, I need Windows. WoA really isn't good enough, so currently I have to remote into a Windows PC to do my work, and it's just a short change to just be using the Windows PC to begin with. For the kind of money I spent on my Studio Max, I could have bought a REAL nice Windows machine. I currently just use a Mac because I like them, but that only goes so far. I like Windows too. (not so high on Linux though!) I'm an outlier here, and I know it, so don't take what I say as doom and gloom for Apple. I'd much prefer if Macs and Windows machines hang around so I can buy the best machine for whatever job I need at the time.

The Mac Pro is for people that need expansion. The ability to swap out an SoC in favor of another one isn't as convenient (or as affordable), but if that's an option, that's not horrible! Otherwise, it's those PCIe slots! If you don't care about PCIe slots and don't need whatever is higher-end than Mx Ultra, then yeah, probably not the Mac for you. The Mac Pro was never the Mac for me. I figured if ever I needed to use one, I'd be using one owned by my employer and not one that I owned.
Agreed, but I'm not seeing any rumors of expansion capabilities at all other than maybe ssd's. I hope I'm wrong because like you say, it's for people that need expansion. The RAM limits I've heard don't really even cover some of the stuff I do (VM based developing/testing) I'm not the target of the Mac Pro and never have been, but I have bought hi end machines for work, so I kind of know what they buy and why.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,675
Agreed, but I'm not seeing any rumors of expansion capabilities at all other than maybe ssd's.

"Expansion capabilities" of a Mac Pro = specialised expansion boards. Things like extra storage (e.g. Pegasus R4i), capture cards, specialised network cards, etc.
 

bobcomer

macrumors 601
May 18, 2015
4,949
3,699
I would love it if you could basically have internal compute nodes - putting M(n)Extreme chips onto a PCIE/MPX card which essentially act as separate compute nodes on a network, except that network is internal to your computer! It would be even better if they added APIs to make distributing work to different nodes easier.
It's been done before (cluster computing), but it's real hard OS/job wise to take advantage of such a setup. The timing of things and maximizing usage of these nodes just plain gives me a headache to think about. I suspect that if Apple did cancel the M2 Extreme chip, it was a bit of the same problem even at that scale.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,675
It's been done before (cluster computing), but it's real hard OS/job wise to take advantage of such a setup. The timing of things and maximizing usage of these nodes just plain gives me a headache to think about.

NUMA computing is very difficult, yes. One of the problems is that the software needs to be aware of this configuration and coordinate execution with the system in order to maximise shared work within closer nodes, otherwise you can forget about achieving good performance. Apple already has NUMA APIs for Metal, what's tricky is the CPU side. There is a thread affinity API that could be used for this, but achieving between different SoCs could be tricky...

I suspect that if Apple did cancel the M2 Extreme chip, it was a bit of the same problem even at that scale.

Their multi-SoC packages approach scaling very differently. The real killer of any kind of multi-processor system is synchronisation. Apple kind of side-steps the entire problem by directly connecting the on-chip networks. This effectively gives you a bigger chip. The rest works just like with the single-die system. For example, every memory controller is responsible for its own block of physical memory, and every block of SoC cache is responsible for its own set of controllers. When you send a memory request it might get routed to a memory controller/cache on the same die, or on the different die — this doesn't matter to the system. The latency will obviously increase due to the larger network size, but that's fine, that's what L2 caches are there to hide. The best part of all this — no need to worry at all about coherency, since there is only one source of truth.

Of course, the technical details are likely extremely complicated and building a physical interconnect that is capable of supporting network bandwidth of a workstation-class chip is a massive undertaking. There are also problems with power consumption (but Apple has some patents which describe how they plan to tackle it). Still, this is very cool stuff.
 

bobcomer

macrumors 601
May 18, 2015
4,949
3,699
NUMA computing is very difficult, yes. One of the problems is that the software needs to be aware of this configuration and coordinate execution with the system in order to maximise shared work within closer nodes, otherwise you can forget about achieving good performance. Apple already has NUMA APIs for Metal, what's tricky is the CPU side. There is a thread affinity API that could be used for this, but achieving between different SoCs could be tricky...



Their multi-SoC packages approach scaling very differently. The real killer of any kind of multi-processor system is synchronisation. Apple kind of side-steps the entire problem by directly connecting the on-chip networks. This effectively gives you a bigger chip. The rest works just like with the single-die system. For example, every memory controller is responsible for its own block of physical memory, and every block of SoC cache is responsible for its own set of controllers. When you send a memory request it might get routed to a memory controller/cache on the same die, or on the different die — this doesn't matter to the system. The latency will obviously increase due to the larger network size, but that's fine, that's what L2 caches are there to hide. The best part of all this — no need to worry at all about coherency, since there is only one source of truth.

Of course, the technical details are likely extremely complicated and building a physical interconnect that is capable of supporting network bandwidth of a workstation-class chip is a massive undertaking. There are also problems with power consumption (but Apple has some patents which describe how they plan to tackle it). Still, this is very cool stuff.
Cool, thanks for the info!
 

PauloSera

Suspended
Oct 12, 2022
908
1,393
I think the Mac Pro is for those that can't do that. I think the Ultra configuration of Mac Studio is meant for those that were fine with an iMac Pro. Not every professional out there needs PCIe slots or more than 128GB of RAM. That said, there are surely those who do.
The Mac Pro served a lot of different customers in the past. From those that wanted a $2,500 Mac to a $50,000 Mac and all in between.

Today the Mac Studio is already serving a good 70% of the previous Mac Pro market. The Apple Silicon Mac Pro (which is essentially a 2x Mac Studio) will serve about 25% more.

The negligible group of users who remain don't need to be serviced by Apple. Not if serving them is counter to the direction of the Mac itself, which it is.
 

SecuritySteve

macrumors 6502a
Jul 6, 2017
949
1,082
California
It doesn't seem unfeasible to me that Apple could simply write AMD drivers for ASi based Macs. That's all that's really missing from those Macs at any level. Doing so would allow for eGPUs, and allow for AMD GPUs in future Mac pros. It allows them to retain their SOC architecture and so on, while allowing users to upgrade their GPUs or to have multiple GPUs should their workflow support that need.

On the RAM front, I'm not sure. Maybe it is doomed to have SOC only RAM. Maybe not.

We can read the rumor mill to death, but ultimately we won't know what to expect until Apple releases their first Mac Pro and we see it ourselves.

It's entirely possible Apple will depart from the SOC style and break it down into modular components specifically for the modular Mac. That would support their cancellation of the M2 Extreme chip, because they realized that when you get to the high end market, your needs for more RAM, CPU cores, GPU power, etc don't scale linearly with each other. Sometimes you're a pro that needs 5x GPU power and standard CPU power, and sometimes the other way around. Why pay for systems you don't need, until you need it, when you're talking about the high end modular sector?

I'm pretty sure Apple knows all of that, and the struggle to build something that can check the modular requirement box is probably why the Mac Pro has been the last in the lineup to be updated. It's not that they can't just interconnect more chips, it's that interconnecting more chips doesn't always make sense.
 

bcortens

macrumors 65816
Aug 16, 2007
1,324
1,796
Canada
It's been done before (cluster computing), but it's real hard OS/job wise to take advantage of such a setup. The timing of things and maximizing usage of these nodes just plain gives me a headache to think about. I suspect that if Apple did cancel the M2 Extreme chip, it was a bit of the same problem even at that scale.
While it would be hard to take advantage of the capability I think that a Mac Pro with an internal compute cluster would have value to people who currently use a cluster of Mac Pros or Mac Studios to do rendering or compilation. These are tasks Apple should work to recapture and enable.

I don't think most application need to know anything about this cluster that lives alongside the main processor, most developers shouldn't ever worry about this. It should be for scientific computing, rendering, large scale compilation etc... I think it's an opportunity to really differentiate the Mac Pro from competitors as well.
 

jdb8167

macrumors 601
Nov 17, 2008
4,859
4,599
It doesn't seem unfeasible to me that Apple could simply write AMD drivers for ASi based Macs. That's all that's really missing from those Macs at any level. Doing so would allow for eGPUs, and allow for AMD GPUs in future Mac pros. It allows them to retain their SOC architecture and so on, while allowing users to upgrade their GPUs or to have multiple GPUs should their workflow support that need.
From what I understand, any GPU drivers would need to deal with UEFI hooks for boot up when Apple silicon Macs don't have UEFI at all. I'm not sure how that would get resolved. Maybe it doesn't matter since the default boot display could be the internal GPU.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.