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

gnomeisland

macrumors 65816
Original poster
Jul 30, 2008
1,097
833
New York, NY
When Apple switched to X86 they had an approved developer box which was basically a vanilla X86 system that could run the new x86 OS X. It sounds more and more like Apple’s move to ARM is really (finally) going to happen. They can’t really pass along a vanilla system, their processors, while built on ARM IP are very custom.

Supposedly Apple is sitting on refreshed hardware for the AppleTV with an A12X processor. What if that box, or a slightly modified version of it, become the dev box for the switch to ARM?

I know, kind of pointless speculation at this point.
 

casperes1996

macrumors 604
Jan 26, 2014
7,597
5,769
Horsens, Denmark
I think it’s much more likely it’ll be done entirely in software. We already have iOS Simulator on macOS. I imagine they’ll actually have a two-way translation system that can both translate x86 to ARM and ARM to x86 for macOS applications. And cross compiling is much better these days than when they switched to Intel.You can easily get a Docker image set up that compiles to and pretends to be ARM for you, so for general purpose programs that’s covered and for anything Apple specific Xcode will likely offer a very streamlined development experience, where you almost don’t need to know what platform you target. I doubt a dev box will even be necessary these days
 
  • Like
Reactions: 09872738

frou

macrumors 65816
Mar 14, 2009
1,391
2,002
Wouldn't be very good for Apple's value story afterwards, because it would reveal that a perfectly acceptable desktop Mac could be sold for 200 bucks.
 
Last edited:

robbieduncan

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
I think it’s much more likely it’ll be done entirely in software. We already have iOS Simulator on macOS. I imagine they’ll actually have a two-way translation system that can both translate x86 to ARM and ARM to x86 for macOS applications. And cross compiling is much better these days than when they switched to Intel.You can easily get a Docker image set up that compiles to and pretends to be ARM for you, so for general purpose programs that’s covered and for anything Apple specific Xcode will likely offer a very streamlined development experience, where you almost don’t need to know what platform you target. I doubt a dev box will even be necessary these days

If current Intel hardware is powerful enough to emulate the target/predicted performance (if Apple don't have the silicon they will use in Macs yet) at a reasonable speed then this does not bode well for the ARM transition! I would expect emulation to be quite the speed killer. Note that the iOS simulator is not emulation: it compiles your iOS app to x86 and there is a complete stack of x86 compiled libraries and iPhone firmware that it uses.

This is fine for developing early stages of apps but is not actually all that useful for performance testing (so you do all that on device). It works for iOS as there is not generally any architecture specific code. However it is not good for testing architecture transitions: you are still running on x86. It's much easier to imagine apps on MacOS using architecture specific code due to their longer history. They need real ARM hardware to test on
 
  • Like
Reactions: gnomeisland

casperes1996

macrumors 604
Jan 26, 2014
7,597
5,769
Horsens, Denmark
This is fine for developing early stages of apps but is not actually all that useful for performance testing (so you do all that on device). It works for iOS as there is not generally any architecture specific code. However it is not good for testing architecture transitions: you are still running on x86. It's much easier to imagine apps on MacOS using architecture specific code due to their longer history. They need real ARM hardware to test on

I was imagining it being much slower than the actual device, yes. But I don't really see why performance testing would matter. A dev box wouldn't really reflect shipping products' performance characteristics either.
But actually you can already run ARM code on your Mac and it's actually not that bad performance wise. As part of my course on computer architecture I've written ARM assembly, and it ran at pretty respectable speeds on my Mac through QEMU. And sure, the iOS Simulator is x86. - Do you know if the Android Emulator is as well? I mean I know that Android can run on x86, but the emulator allows using OS images from devices that are definitely ARM. - That runs fine as well.

I don't see a big need for performance testing. You can't really meaningfully use performance testing from a dev platform to determine anything about the shipping product. - Other than perhaps compare different algorithm's relative performance on the architecture, but really that shouldn't be so different to x86. Let the compiler do most of the heavy lifting.

Only time that could be different is if you're handcrafting assembly, in which case, you could either test on another ARM platform like Raspberry Pi for general program execution time hints, or if that's not good enough for you since you want to target Apple's specific ARM implementation specifically, a dev box also wouldn't be good enough, since it might not, for example, have the same caches that the shipping product will, and your hyper specific code testing wouldn't reflect that.

But you shouldn't really handcraft assembly anyway. If you know you want to use a specific x86 instruction, it's much better to use compiler intrinsics for your language, in which case the compiler can make a fallback for compiling on platforms that doesn't have the instruction for you. (in some cases).

Here's an actual performance comparison, run on my Mac. It's testing the collatz conjecture on 10 million numbers and finding the largest stopping time. Left side is ARM, right side is x86
So yeah, you can't expect the actual speed of the final product to be this, but you also couldn't do that with a dev box. This is fine for making sure your programs work, and it's plenty fast for that.
Screenshot 2020-06-10 at 16.47.06.png


Reason there are two results for each, is that I ran both a recursively defined version and a loop version. - Both are compiled with GCC on -O3.
 

gnomeisland

macrumors 65816
Original poster
Jul 30, 2008
1,097
833
New York, NY
Good points. It would be a bit of a stretch but I do think Apple will need to make some kind of hardware available to devs before shipping hardware to consumers. There is too much of a chance of little things going wrong, plus those devs will be de facto alpha/beta testers for macARM OS and all of Apple's ported apps.
[automerge]1591879434[/automerge]
Wouldn't be very good for Apple's value story afterwards, because it would reveal that a perfectly acceptable desktop Mac could be sold for 200 bucks.
Bare bones, but sure. Although it would only be sold to developers. The last box was more money but it was sold inside a G5 chassis but considerably less than a G5 ($1000 vs $1800 for the cheapest G5). The Mac mini might make more sense, but it would require more hardware development whereas the AppleTV (assuming an A12X and more RAM as has been rumored) with a USB-C port (which only the latest version lacked) would be sufficient. The mini would be worth twice as much because it has more ports, (hopefully) expandable RAM & storage, and whatever next-gen A-series chip Apple will be releasing next year.
 
Last edited:

robbieduncan

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
Bare bones, but sure. Although it would only be sold to developers. The last box was more money but it was sold inside a G5 chassis but considerably less than a G5 ($1000 vs $1800 for the cheapest G5).

Ah, but it wasn't sold for $1000: it was a 1 year loan for $1000. I believe at the end Apple offered developers a new Intel iMac when they returned their developer transition kit but that was not part of the deal: it was offered out of the kindness of Apple's hearts.

 
  • Like
Reactions: jerwin

gnomeisland

macrumors 65816
Original poster
Jul 30, 2008
1,097
833
New York, NY
Ah, but it wasn't sold for $1000: it was a 1 year loan for $1000. I believe at the end Apple offered developers a new Intel iMac when they returned their developer transition kit but that was not part of the deal: it was offered out of the kindness of Apple's hearts.

True. Perhaps it doesn't make sense. There is a big difference this time around though, because Apple controls basically the entire hardware stack already. I do think they'll need some hardware platform, very curious to see what it will be!
 

poorcody

macrumors 65816
Jul 23, 2013
1,338
1,584
I doubt this is actually true, but... what if all those T2 chips in our currents Macs were clandestinaly designed to also run MacOS directly? Maybe ARM was already deployed as a Trojan Horse?

Maybe a little more likely... the new iMac may be such a machine? I think they are going to want to have developers have actual hardware for testing and tuning before transitioning the end-user.
 

frou

macrumors 65816
Mar 14, 2009
1,391
2,002
I doubt this is actually true, but... what if all those T2 chips in our currents Macs were clandestinaly designed to also run MacOS directly? Maybe ARM was already deployed as a Trojan Horse?
I found it kinda interesting that the T-series hasn't been revved again since the T2 arrived in 2017. With most of Apple's Letter-series chips, new ones come out like clockwork.
 

gnomeisland

macrumors 65816
Original poster
Jul 30, 2008
1,097
833
New York, NY
I doubt this is actually true, but... what if all those T2 chips in our currents Macs were clandestinaly designed to also run MacOS directly? Maybe ARM was already deployed as a Trojan Horse?

Maybe a little more likely... the new iMac may be such a machine? I think they are going to want to have developers have actual hardware for testing and tuning before transitioning the end-user.
More likely they were used to help the engineering teams begin implementing design/features. Once Apple knew it would go full ARM, not worth updating the stopgap.

If the T2 could actually access the system RAM and PCIe bus then . . . maybe? But I think they're based on the A10, which is not bad but missing some key features like the NPU and heterogenous multi-core.
 
  • Like
Reactions: MandiMac

MandiMac

macrumors 65816
Feb 25, 2012
1,433
883
More likely they were used to help the engineering teams begin implementing design/features. Once Apple knew it would go full ARM, not worth updating the stopgap.

If the T2 could actually access the system RAM and PCIe bus then . . . maybe? But I think they're based on the A10, which is not bad but missing some key features like the NPU and heterogenous multi-core.
I think you're on the right track here. A12X or whatever will have NPU and HMC and many other benefits. Let's wait and see, only one more week left :)
 

robbieduncan

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
What do you think to Jason Snell's pick in the Upgrade draft? No dev transition hardware at all? I still think developers will want and need real hardware to run on but he did offer some good reasoning
 

gnomeisland

macrumors 65816
Original poster
Jul 30, 2008
1,097
833
New York, NY
Interesting but long podcast.

I think despite the cross platform compiling in XCode Apple will need developer hardware. Power-per-watt and overall speed are only two advantages of the A-series SoC. Leveraging the NPU and heterogenous computing (taking advantage of those low-power cores for “minor” tasks) is something that will need hardware to properly test.

I keep coming back to the AppleTV as the most likely platform for the reasons Snell mentions. Apple has a lot more developers, the box is (relatively) cheap and with the reintroduction of a USB-C port would be adequate. Using a Mac mini would require ore hardware and expense. Perhaps instead of shipping it back to Apple, after the macARM is released it just reverts to tvOS after a certain date. Essentially the developer-alpha macARM OS is an OTA update like the historical developers Apple betas.
 

robbieduncan

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
Interesting but long podcast.

I think despite the cross platform compiling in XCode Apple will need developer hardware. Power-per-watt and overall speed are only two advantages of the A-series SoC. Leveraging the NPU and heterogenous computing (taking advantage of those low-power cores for “minor” tasks) is something that will need hardware to properly test.

I keep coming back to the AppleTV as the most likely platform for the reasons Snell mentions. Apple has a lot more developers, the box is (relatively) cheap and with the reintroduction of a USB-C port would be adequate. Using a Mac mini would require ore hardware and expense. Perhaps instead of shipping it back to Apple, after the macARM is released it just reverts to tvOS after a certain date. Essentially the developer-alpha macARM OS is an OTA update like the historical developers Apple betas.
The biggest issue I have with the AppleTV is the USB-C port. This is a pain for using USB keyboards/mice. Not everyone has a USB-C hub or appropriate C to A adaptor. I guess they could just include an adaptor/sell one cheaply
 

bunnspecial

macrumors G3
May 3, 2014
8,352
6,495
Kentucky
Ah, but it wasn't sold for $1000: it was a 1 year loan for $1000. I believe at the end Apple offered developers a new Intel iMac when they returned their developer transition kit but that was not part of the deal: it was offered out of the kindness of Apple's hearts.


Apple REQUIRED the DTKs to be returned. They're quite rare and valuable now because they technically are still property of Apple, although at this point I'm not sure how much Apple cares. A lot of DTKs are sold "underground" though out of caution among people who trade other items like Apple prototypes.
 

gnomeisland

macrumors 65816
Original poster
Jul 30, 2008
1,097
833
New York, NY
The biggest issue I have with the AppleTV is the USB-C port. This is a pain for using USB keyboards/mice. Not everyone has a USB-C hub or appropriate C to A adaptor. I guess they could just include an adaptor/sell one cheaply
Wireless mouse/keyboard. Plus, USB-C hubs are pretty cheap and plentiful. I’m not saying you’re wrong. The limited ports are probably the biggest strike against using the hardware as a test bed, but going to Intel Apple could use a pretty stock motherboard/CPU combo (if I recall) just housed in an adapted G5 case. For this transition they don’t have that option since everything is vertical. So Apple has to develop the whole hardware stack and they’ve got thousands of more developers who would want one then they did in 2005 (WWDC had ~4500 attendee then, now it sells out all 6,000 spots in hours).
[automerge]1592434886[/automerge]
Apple REQUIRED the DTKs to be returned. They're quite rare and valuable now because they technically are still property of Apple, although at this point I'm not sure how much Apple cares. A lot of DTKs are sold "underground" though out of caution among people who trade other items like Apple prototypes.
Yeah, I know that. But would that even be feasible with the thousands of more developers wanting one now vs in 2005? That’s why I think we’ll see something different this time around. The most feasible options seem to be no DTK, iPad Pro running XCode (possibly macARM OS), macARM mini, or an AppleTV. Of those options, I’m betting the AppleTV or a close variant with 8GB of RAM and more storage for less than $500. No return needed but possibly it reverts to tvOS after macARM OS is released.
 

Stephen.R

Suspended
Nov 2, 2018
4,356
4,747
Thailand
We already have iOS Simulator on macOS. I imagine they’ll actually have a two-way translation system that can both translate x86 to ARM and ARM to x86 for macOS applications.

Sorry to burst your bubble, but the iOS Simulator on macOS runs iOS Software (i.e. the "system" and whatever App you're building in Xcode) compiled for the x86/amd64 CPU in the Mac. It doesn't emulate an ARM processor, in any way shape or form.
[automerge]1592473541[/automerge]
What if that box, or a slightly modified version of it, become the dev box for the switch to ARM?
Anything is possible. I'm highly skeptical of a full switch to Arm for Macs (I've long said I think they'll end up using co-processors, essentially expanding the role their own silicon - e.g a theoretical T3 - particularly at the higher end of the spectrum) but even if they were going to release a developer edition box to prepare for Arm macOS, I highly doubt they'd do it in the form of a modern Apple TV.
 

casperes1996

macrumors 604
Jan 26, 2014
7,597
5,769
Horsens, Denmark
Sorry to burst your bubble, but the iOS Simulator on macOS runs iOS Software (i.e. the "system" and whatever App you're building in Xcode) compiled for the x86/amd64 CPU in the Mac. It doesn't emulate an ARM processor, in any way shape or form.

Sure. That's true. But it doesn't really change my point. And if you look earlier in the thread you'll see screenshots I've posted of ARM code running on my Intel MacBook Pro; Not an Apple product but it's certainly possible to do, even right now.
 

Stephen.R

Suspended
Nov 2, 2018
4,356
4,747
Thailand
But it doesn't really change my point.
Your point seemed to me that Apple already is doing CPU emulation, and would increase this to do bi-directional CPU emulation. But they aren't doing CPU emulation, and anyone who's had to use it, knows it's essentially the "lipstick on a pig" / "polished turd" of compatibility solutions.

Your own little demo makes this point quite well - roughly 3x as long to run the same calculations. While a hardware "dev kit" isn't going to be exactly what you'd expect to ship to customers, if the Intel transition is anything to go by, you'd assume it'll be *somewhat* representative. The Intel Transition system had a 3.6GHz P4, the initial Intel Macs had roughly ~2GHz Intel Core Solos and Core Duos. The transition system was much less polished (no EFI, no GPT disks, etc) but it was still close enough hardware that developers had some sort of idea how things would run.
 

MandiMac

macrumors 65816
Feb 25, 2012
1,433
883
One side question: What good would be a dev box that isn't representative in terms of performance? Devs need to know where the limits are so they can push the boundaries or work around them.
 

gnomeisland

macrumors 65816
Original poster
Jul 30, 2008
1,097
833
New York, NY
One side question: What good would be a dev box that isn't representative in terms of performance? Devs need to know where the limits are so they can push the boundaries or work around them.
I think it would need to get pretty close. Unless Apple announced a new A-series chip at WWDC, they closest thing they're shipping is the A12X/Z. The A13 has newer but fewer cores. So it is a possibility but I'd bet on the A12X/Z as closer to the over design of whatever they'll use in macARM.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.