Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
That's the understanding that I am seeing, the package includes the RAM and the way its built suggests that 256Gb could be the spec minimum - any extra RAM added afterwards by the user would be traditional DIMMS and would be slower.

Minimum RAM for a M1 Ultra is 64GB, maximum is 128GB...

A dual M1 Ultra would have a minimum of 128Gb and a maximum of 256GB...

We might also see a Mac Pro that's "simply" two to four M2 Ultras in a trenchcoat, and the ability to add PCIe cards, and that's it.

macOS has a limit of 64 threads, therefore a limit of 64 CPU cores...

M1 Ultra has 20 CPU cores, so a dual M1 Ultra would have 40 CPU cores; a quad M1 Ultra would have 80 CPU cores, which is more than the OS can handle...
 
  • Like
Reactions: theorist9
macOS has a limit of 64 threads, therefore a limit of 64 CPU cores...

M1 Ultra has 20 CPU cores, so a dual M1 Ultra would have 40 CPU cores; a quad M1 Ultra would have 80 CPU cores, which is more than the OS can handle...
It's a good thing Apple has control of the source code of their own operating system...

//CONST MAX_THREADS = 64;
CONST MAX_THREADS = 80;
 
macOS has a limit of 64 threads, therefore a limit of 64 CPU cores...

M1 Ultra has 20 CPU cores, so a dual M1 Ultra would have 40 CPU cores; a quad M1 Ultra would have 80 CPU cores, which is more than the OS can handle...

It's a good thing Apple has control of the source code of their own operating system...

//CONST MAX_THREADS = 64;
CONST MAX_THREADS = 80;

Just stating where the OS is at the moment; do we know it is as trivial as changing a number somewhere in the source code, or are there deeper reasons for the 64 thread limit...?
.
 
Just stating where the OS is at the moment; do we know it is as trivial as changing a number somewhere in the source code, or are there deeper reasons for the 64 thread limit...?
.
So much of this thread is pure speculation, so why not speculate about a little change to the OS while we are at it. ?
 
  • Haha
Reactions: theorist9
So much of this thread is pure speculation, so why not speculate about a little change to the OS while we are at it. ?
Well, MacOS is based on FreeBSD, a Unix variant, and Unix mainframes can run thousands of processes (indeed, there may be no theoretical [as opposed to practical] processor limit with Unix, since I've read there's none with Linux). I don't know what the limit is with MacOS.
 
Last edited:
macOS has a limit of 64 threads, therefore a limit of 64 CPU cores...

M1 Ultra has 20 CPU cores, so a dual M1 Ultra would have 40 CPU cores; a quad M1 Ultra would have 80 CPU cores, which is more than the OS can handle...
A 4X Ultra has 64 performance cores and 16 efficiency cores. So if they really wanted to offer a 4X Ultra*, and if the limit really is 64 cores (I don't know whether it is or not), one option would be to dynamically disable the efficiency cores when given a job that could make use of all 64 performance cores.

Don't know if that would be a good look for them, though. Plus at a 4:1 ratio for performance:efficiency core processing power, you'd be effectively giving up 4 performance cores (6% of the machine's CPU processing power), which reduces value.

*The reason to offer a 4X Ultra wouldn't be just for the CPU power; some might want the doubled GPU power and RAM as well. A 4X Ultra would put them in dual-A6000 territory:

256-core AS GPU (4X Ultra) = 84 TFLOPS, single-precision
dual RTX A6000** = 78 TFLOPS, single-precision
dual W6900X*** = 44 TFLOPS, single-precision

**+$7,200 option over base GPU, with Dell Precision 7920 Tower workstation & current discounts
***max for current Mac Pro, +$11,400 option over base GPU

Likely would be a tiny market for this. Would make a good HALO product. Of course, there is still a triple RTX A6000 (+$10,800 over base), which would beat it in GPU power. Apple's not likely to be on top in this dept. in the forseeable future.

I wonder if MacOS has a thread limit on GPU processing....
 
Last edited:
Minimum RAM for a M1 Ultra is 64GB, maximum is 128GB...

A dual M1 Ultra would have a minimum of 128Gb and a maximum of 256GB...

Gb ≠ GB

macOS has a limit of 64 threads, therefore a limit of 64 CPU cores...

wha?

kernel_task alone is currently at 220 threads.

M1 Ultra has 20 CPU cores, so a dual M1 Ultra would have 40 CPU cores; a quad M1 Ultra would have 80 CPU cores, which is more than the OS can handle...

Apple can change sysctl values as they please.
 
kernel_task alone is currently at 220 threads.
I think when he wrote a limit of 64 threads, he meant 64 simultaneous threads. I.e., (as you probably know) that 220 value is the number of active threads (running plus pending), not the number of threads running at once, which can only be one per core. And it's the number of allowed simultaneous processes (or, if you prefer, simultaneous threads), that in turn determines the max number of cores that can be used at once.

I don't know what that limit is for MacOS. Maybe it's 64 cores, maybe more.

In summary, on one core, a task could have multiple threads, but only one can run at once.

Indeed, that's the case even with Windows' hyperthreading—hyperthreading doesn't allow concurrent use of execution resources (you can still only execute one thread per core at a time), it just helps thread-switching by allowing two separate sets of instruction sets (architectural states). This is probably an oversimplification, but I think it allows better use of the execution resources because, when switching to a new thread, that thread is all ready to go with its updated instruction set.
 
Last edited:
I think when he wrote a limit of 64 threads, he meant 64 simultaneous threads. I.e., (as you probably know) that 220 value is the number of active threads (running plus pending), not the number of threads running at once,

Sure. I see no reason to believe macOS has a hard low limit.

Far more likely: twenty years ago, they saw little reason they'd have that many physical cores, so they set the limit to avoid weird resource contention bugs.

Now, they can simply set the value higher.

which can only be one per core.

Assuming no SMT.

And it's the number of allowed simultaneous processes (or, if you prefer, simultaneous threads), that in turn determines the max number of cores that can be used at once.

I don't know what that limit is for MacOS. Maybe it's 64 cores, maybe more.

There's this:

kern.wq_max_threads: 512
kern.wq_max_constrained_threads: 64
kern.num_threads: 20480
kern.num_taskthreads: 4096

One of those is 64 on an Intel Mac running 12.3. Maybe it's higher on ARM. Maybe it'll only be higher on the M2 Extreme.

Maybe you can simply set it higher yourself, or maybe not; perhaps XNU is hardcoded to crash if you try to change the value. I haven't tried.

In summary, on one core, a task could have multiple threads, but only one can run at once.

Right.

Indeed, that's the case even with Windows' hyperthreading—hyperthreading doesn't allow concurrent use of execution resources (you can still only execute one thread per core at a time), it just helps thread-switching by allowing two separate sets of instruction sets (architectural states). This is probably an oversimplification, but I think it allows better use of the execution resources because, when switching to a new thread, that thread is all ready to go with its updated instruction set.

Frankly, SMT (including Hyper-Threading) is a bit above my paygrade, but I'm not sure any of that is relevant to some value somewhere in sysctl.

Like, if an OS only ever ran on a single core (such as Mac OS Classic ca. 7.x) and you suddenly wanted to take advantage of a second core, yeah, that takes some serious rethinking. (And indeed, oddly enough, a third-party did the work before Apple got around to it.)

But if your OS has only ever seen 40 physical cores and now it's confronted with 80 or 160 or 4096? Why would that change anything? At that point, you already have all the facilities to multithread. Heck, on top of that, ARM Macs even have heterogenous cores, so macOS's scheduler can even handle that.


I'm saying the person you were responding to was probably talking about Gigabits, not Gigabytes.
 
Of course not. Don't be silly.


It's not unheard of. Back in the PowerPC days Apple was releasing new models months, not years, apart. With Arm, and not being at the mercy of Intel, we may begin to see more frequent updates again.
Why would they cannabalize their new machines with a less than 12 month refresh? With t th shutdown in China, expect a M2 mbp announcement during wwdc. Then a mbp16 and 14 m2 with NOV/DEC availability.

They need to move the cadence to 18 months not 12 IMHO for the next 2-3 years.
 
Why would they cannabalize their new machines with a less than 12 month refresh? With t th shutdown in China, expect a M2 mbp announcement during wwdc. Then a mbp16 and 14 m2 with NOV/DEC availability.

They need to move the cadence to 18 months not 12 IMHO for the next 2-3 years.
Why not annually, like Apple does with the iPhone, and Dell does with the XPS 15?

For instance, if your prediction is correct and they have an M2 Pro/Max available in Nov/Dec 2022, why not do an upgrade to the Max/Ultra Studio in April 2023?

I suppose you could argue that Apple directly competes with other phone mfrs., and Dell directly competes with other PC mfrs, so since their competitors are on a yearly update cycle, Apple and Dell need to do the same to stay competitive. And that, by contrast, Apple doesn't as directly compete with other PC mfrs. But that's a reason they may not need to do annual Mac refreshes, it's not a reason they shouldn't or couldn't.
 
Last edited:
As for the various M2 models (and their codenames), current reporting/speculation seems to be around:
  • M2 (Staten): 8 CPU cores and 9/10 graphics cores
  • M2 Pro (Rhodes Chop): 10/12 CPU cores
  • M2 Max (Rhodes 1C): 12 CPU cores
  • M2 Ultra (Rhodes 2C): 24 CPU cores
  • M2 Extreme (Rhodes 4C): 48 CPU cores

GPU cores are harder to know. Mark Gurman originally believed the M2 Pro and Max would have the same 16/32/64 GPU cores as the M1 Pro/Max/Ultra, but this new report says they will likely be divisible by 9 or 10 to reflect what the base M2 is believed to offer in terms of CPU.
I don´t know why. I ended up waiting for the M2.
And I feel limited to buy a laptop, because I will use it different places.
So, what I am waiting for is the M2 Max or Ultra, I think. With a descent amount of RAM.
 
Unless M2 is architecturally different, I highly doubt Apple will just put in a M2 chip into a mac pro because none of the m1 chips are actually user upgradable. Can't update ram, can't update storage, not even sure you can have swappable PCI-E slots.

Although it's totally possible apple sticks it to the "Pro" community and just make a bigger mac studio.
These are very interesting thoughts.

It seems like the Studio is a new "Mac Pro" category, maybe like the other unupgradable Mac Pro - or like the iMac Pro.

But Apple has hinted about a M-powered Mac Pro earlier this year, and it will come, and it will most certainly break the pattern of the other M processors. They will have to have two types of storage, in one way or another. Or maybe they have something new - a new propriotic modularity scheme. Modular RAM and STORAGE that only Apple can manufacture and control. And then put it in a minimum package that makes it worth it, to buy a pro...
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.