This is what the next Mac Pro COULD be, if Apple wanted to dominate the workstation market.
It's got a fast, efficient workstation ARM CPU.
It's got tons of RAM, but you can add more if you want.
It has expansion slots so pros can add on what they need without fragile Thunderbolt connections.
It's in a quiet, mid-size tower case, and it cost less than $5000.
Except, Apple doesn't make this!
This is the Ampere Altra Developer Platform,
and it's powered by a 96-core monster CPU. This processor powers cloud computing in
datacenters around the world. It's using CPU cores called Neoverse N1,
which have a similar architecture to Apple's M series chips, but without a built-in GPU.
But that's all right, because the expansion slots mean you can put in whatever GPU you want! Even
Nvidia! If Apple wants to be a player in the workstation market, maybe it's time for Apple
and Nvidia to bury the hatchet. This machine certainly has what it takes for AI and Machine
Learning. You might even see that RTX 8000 in there. Does it work? Well, I'll get to that later.
For Apple, there's not a whole lotta expansion options for Apple's M series
CPUs. At least not yet. I mean, you could buy a special rackmount enclosure for $1700
that lets you add a few PCI Express cards, but compatibility is limited.
But let's play a game of "what if"
What if Apple wanted to build a new workstation that's every bit
as flexible and professional as the 2009 Mac Pros were?
What if Apple could still have their annoying but blazing-fast RAM-on-chip architecture,
but have an upgradable daughter card so you could upgrade your Mac?
What if Apple could have built-in expansion so pros could build amazing multimedia,
processing, or storage powerhouses?
And what if Apple could still have blazing
fast internal storage in the form of standard NVMe slots?
Well, they could. This machine has most of that, though in this case, you can at least
upgrade your RAM independent of the CPU. This daughtercard even uses a standard, called COM-HPC.
COM-HPC is kinda like the Raspberry Pi Compute Module 4 I use a lot,
but, like, on massive steroids!
For a lotta people who use Macs, they might be like, 'so what?'
Well, there are a lot of people who use Mac Pros, and for good reason. Like take me,
for instance. I do video editing and I need to transfer tons of large files on my network.
I have a 10 gigabit connection on my Mac Studio,
and that's great and all... but did you know that 25, 40, or even 100 gig networks are thing now?
Even using Thunderbolt, I can't get those speeds. I need PCI Express.
Pro Mac users have two options: one, buy an old Mac Pro and don't
take advantage of Apple's fast and efficient M-series chips, or two,
be jealous of their PC friends, who can just pop cheap 25 gig cards in their custom PCs.
But I think the main reason Apple hasn't built a machine like this
yet is they haven't figured out how to upcharge people $700 for casters!
Taking a quick peek at this machine, it's called the Ampere Altra Developer Platform,
and you can buy it from this website starting around three thousand bucks.
This comes as a full custom PC, with a case, power supply, motherboard, and everything
else you need for the fastest Arm desktop on the planet, including this quiet water cooling setup.
But if you wanna build your own? ADLINK has you covered,
with this Dev Kit, that gives you all the guts. You can build in your own case,
with your own power supply, RAM, and SSD. And that saves you a few hundred bucks.
But if you've ever built a PC before you might notice this motherboard's a little different.
That's because it uses a processor, RAM, and VRM daughtercard using a standard called COM-HPC.
This lets you swap out the daughtercard if you wanna upgrade your computer.
ADLINK even makes 'express' sizes of these boards with Intel chips.
But there's one other weird little chip on this motherboard, and it's something you'll find on
servers a lot, but not as much on desktops. This ASPEED chip connects over to this Ethernet port,
and runs something called a BMC, or Board Management Controller.
It's always on, and it lets you manage the PC over your network even when it's turned off.
Ampere sent me this machine for testing after they saw all my videos on graphics cards on Raspberry
Pis. This is a custom 96-core version. It has 96 Arm cores running at 2.8 GHz each. Mine came with
a 128 gig NVMe SSD and 64 gigs of RAM, and I added on another SSD and this graphics card.
Out of the box, it runs Ubuntu 20.04, but you can run a bunch of other operating systems
on it. Unlike Arm SBCs—or even Macs, for that matter—this thing has a special 'SystemReady'
certification, and that means most generic operating systems should 'just work' on it.
That's a lot different than Arm SBCs like the
Raspberry Pi or Orange Pi where you need custom Linux images.
To test this out, I downloaded Ubuntu 22.04, and installed it without any issues at all.
What about Windows? Well, I'll get to that later.
So now that I have a nice desktop OS running, I wanted to see how
this workstation-class hardware performs.
And the first thing I ran? Geekbench. Geekbench is far from perfect, but it's fun to run since it's
been run on anything from multi-processor servers down to single board computers.
This system got an 807 for single-core, which isn't all that fast, about on par with 6th or
7th-gen Intel CPUs. But you don't go Ampere for single core performance. The multicore
score of 30,121 is faster than any other CPU I've personally tested,
and there's room for improvement. There may be some buggy tests in Geekbench 5 that don't
take advantage of all 96 cores, and I haven't run the preview release of Geekbench 6 for Arm yet.
A more practical benchmark is the one they use to test the fastest supercomputers in the world,
when they get ranked in the Top 500. I ran the High Performance
Linpack benchmark using my open source top500-benchmark project.
The first time I ran it,
I just had it spread linear math equations out to all 96 cores as fast as it could.
That gave me 377 Gflops at 220 Watts, giving me an efficiency of 1.71 Gflops/W. That's already fast,
but we can do better. My grandma always said 'Mind your P's and Q's',
and apparently she knew how to benchmark! I remembered reading this article from Anandtech,
and seeing the discussion about Ampere's core layout. You see, the way these chips work,
there's a kind of 'mesh' system that defines how cores communicate with each other. And
when you have 96 CPU cores trying to talk, things can get a little noisy.
So much so, that by optimizing code to run differently, not requiring
coordination between all the cores, you can actually get faster performance.
So I split the job up into four quadrants. Switching to 4 P and 24 Qs,
the score was much better, hitting 401 Gflops at 200 Watts, with an efficiency of 2.01 Gflops/W.
So we got 6% more performance, and 16% more efficiency, all just by optimizing the software.
We could probably get even more performance,
too. I love doing tests like this, because it illustrates two things:
First, single benchmark numbers are meaningless.
Keep that in mind whenever you're looking at reviews.
And second, with modern chip architecture, software support is just as important as
hardware to unlock all the performance. That's why you sometimes see unintuitive
results with chips like AMD's new Ryzen 9 7950X3D.
When software has to wait for die-to-die, or quadrant-to-quadrant communications,
things can actually run slower than if they were just running on one portion of the chip!
I also recompiled the Linux kernel—because that's kinda my thing—and this thing'll do that in a
little under two minutes. Not bad at all! That, along with benchmarks like 7zip compression and
PHPBench puts this CPU in the upper end of performance... but it's not the top dog.
Most of the time, that honor goes to AMD's latest EPYC chips. Those
things are monsters when it comes to performance.
But this chip does shine in some areas, like for web servers, and especially for efficiency,
at least under load. My Mac Studio still owns the efficiency crown—which is why
I'd love to see Apple make a true "Pro" workstation. But the Ampere is a lot more
efficient than X86 for most workloads, which is why so many cloud providers are using it.
But speaking of X86: for most desktops, that means Windows.
Can you install Windows on this thing? Well,
apparently some people have, but speaking from first-hand experience, it ain't easy.
The first thing I tried was finding a Windows on Arm ISO. They... don't
have one of those using the Windows Media Creation Tool.
So then I found this Windows 11 on Arm Insider Preview,
which requires an Insider account. Well that's okay, I already have one...
Except... apparently my account is blocked for some reason. I get
this error when I try downloading it. And I tried Safari, FireFox,
and Chrome. I even tried Edge on my Windows 11 PC! Nothing worked.
Eventually I got ahold of the Windows Insider Twitter account,
and they said to slide into their DMs... well, I did, but they haven't resolved that problem yet.
So next I built a custom ISO using this tool called UUPDump, but the image it
generated just resulted in this Synchronous Exception, and the installer wouldn't boot.
So at this point I cried out for help on Twitter, and a bunch of people offered me suggestions,
ranging from installing Parallels or VMWare Fusion on my Mac, to using other UUP tools,
to even downloading a recovery image for my Windows Dev Kit.
That seemed like the easiest path forward, though the illustration for where to find
the serial number is pretty useless. It's down here on the bottom, in case you're wondering.
So I hit download and waited... apparently they rate limit that thing to 10 Megabytes per second.
C'MON Microsoft! I'm really tryin' to let you have a win here.
Anyway, after it downloaded, I expanded it, used the Recovery Tool, copied over
all the files for another 10 minutes, and finally I had this recovery drive.
Will it work? No, because of course not.
So next up was a suggestion from Paul on Mastodon
to download Parallels and use it to get an ISO. So, I did that!
And... that got further, I mean I couldn't see Windows in the
BIOS but it did start booting. But then I got the blue screen of death.
I was about to give up when I found this article from Cloudbase. I mean,
it sure seems they got it working!
So I got help from David Burgess over on DB Tech — apparently he's able to download
the Windows on Arm Insider build, so he did that, and sent it to me.
I converted it from a VMDK file to a raw disk image, then copied that onto the NVMe
drive on the machine. And, after a reboot, it looked like I could pick it in the BIOS.
But will it work? Well, it's workin' so far... Gah! That dumb blue screen.
It looks like I'm still getting a BIOS error.
So hey, Linux works great on here. Windows? I don't know,
I think Microsoft just hates me at this point. But I'll keep trying, I mean it's possible. I
just wanted to try some X86 Windows binaries on here to see how they perform with emulation.
All in good time I guess.
It's also a good time to test a few different graphics cards. In my last
video I tested a bunch of overpowered cards on my Raspberry Pi. Almost none of 'em worked.
But on Ampere, there's a list of approved graphics cards,
and supposedly some other ones should work too.
But before that, one question I know you're dying to ask is "will it play Doom"?
Of course! And it has no problem with it at all.
I also played Super Tux Kart, and well, it needs a graphics card if you want it to look good.
So I spent a few hours trying to get this RTX 8000 working. Just like on the Pi,
it was recognized, and I could install Nvidia's Arm drivers.
But I still ended up getting this 'RM Init Adapter' failed error,
and I couldn't get the card working.
I'll keep plugging away, though,
so expect another video on gaming on the fastest Arm desktop in the world soon.
Until next time, I'm Jeff Geerling!