arm64

NUMA Emulation speeds up Pi 5 (and other improvements)

Recently an Igalia engineer posted a NUMA Emulation patch for the Pi 5 to the Linux Kernel mailing list. He said it could improve performance of Geekbench 6 scores up to 6% for single-core, and 18% for multicore.

My testing didn't quite match those numbers, but I did see a significant and consistent performance increase across both Geekbench 6:

Raspberry Pi 5 Geekbench 6 Score comparison with NUMA Emulation enabled

And High Performance Linpack:

Raspberry Pi 5 HPL Gigaflops and efficiency comparison with NUMA Emulation enabled

Everything I've learned building the fastest Arm desktop

Ampere Altra Developer Platform Hero Shot

This is the fastest Arm desktop in the world, yes, even faster than the M2 Ultra Mac Pro. And today, I made it even faster.

I upgraded everything: Faster RAM, 128 core CPU, 40 series GPU, I did it all, and we'll see how much we can obliterate the M2 Mac Pro.

128 cores—that's five times more cores, I'm also going to upgrade this thing from 96 all the way to 384 gigabytes of RAM. The Mac Pro? Sorry, it only goes up to 192.

And we're just in time for the new Cinebench 2024 benchmark, which—yes—this machine dominates.

Testing Microsoft's Windows Dev Kit 2023

Last week Microsoft started selling their $599 Windows Dev Kit 2023, formerly known as 'Project Volterra'.

Microsoft Windows Developer Kit 2023 ARM Desktop - Project Volterra

I got my hands on one after a little bit of a shipping delay, and promptly started tearing it down to see what's inside. You can click here to browse the entire Twitter thread where I posted pictures of the box contents and teardown, or view it below:

External graphics cards work on the Raspberry Pi

AMD Radeon HD 7450 Graphics card with Raspberry Pi Compute Module 4

In October 2020, after Raspberry Pi introduced the Compute Module 4, I started out on a journey to get an external graphics card working on the Pi.

At the time, it'd been over a decade since the last time I'd built a PC, and I had a lot to learn about PCI Express, the state of graphics card drivers in Linux, and PCI Express support on various ARM SoCs.

How to run glmark2-drm to benchmark an external GPU on a Raspberry Pi

Recently I wanted to see whether I could get glmark2 (an OpenGL 2.0 and ES 2.0 benchmark tool) to run on a Raspberry Pi with an external graphics card (see this thread).

But glmark2 isn't available in any Pi repositories, so you have to build it from source:

sudo apt install -y meson libjpeg-dev libdrm-dev libgbm-dev libudev-dev
git clone https://github.com/glmark2/glmark2.git
cd glmark2
meson setup build -Dflavors=drm-gl,drm-glesv2
ninja -C build
sudo ninja -C build install

I built this for drm only, so it can run fullscreen without any X/Wayland environment. To run the full suite:

glmark2-drm

Or you can run a specific benchmark like glmark2-drm -b jellyfish.

It's official: Raspberry Pi OS goes 64-bit

64-bits. More is always better, right?

Well, not exactly. And that's why it's taken years for Raspberry Pi OS to add an officially-supported 64-bit version, in addition to the 32-bit version they've had since the original Pi came out.

Since May 2020, there's been a beta 64-bit version of Pi OS, but it wasn't intended for beginners, and was never linked from the main downloads page.

You had to kinda be 'in the know' to get it. And the reason for that is it's actually branched directly off of Debian Linux and had a few growing pains. But almost all those problems have been ironed out now, and apparently it's time for the Raspberry Pi's 64-bit era.

Raspberry Pi OS 64-bit blog post

The Apple M1 compiles Linux 30% faster than my Intel i9

(With a caveat: I'm compiling the ARMv8 64-bit Pi OS kernel.)

It seems every week or so on Hacker News, a story hits the front page showing some new benchmark and how one of the new M1-based Macs matches or beats the higher-priced competition in some specific benchmark—be it GeekBench, X86-specific code, or building Emacs.

Well, here's my quick story.

I've been doing a lot of work with Raspberry Pis lately—more specifically, work which often requires recompiling the Pi OS Linux kernel for the aarch64 architecture. I recompile the kernel enough I made my own shirt for it!

Cross-compiling the Raspberry Pi OS Linux kernel on macOS

After doing a video testing different external GPUs on a Raspberry Pi last week, I realized two things:

  1. Compiling the Linux kernel on a Raspberry Pi is slow. It took 54 minutes, and I ended up doing it 7 times during the course of testing for that video.
  2. If you ever want to figure out a better way to do something, write a blog post or create a video showing the less optimal way of doing it.

To the second point, about every fifth comment was telling me to cross-compile Linux on a faster machine instead of doing it on the Pi itself. For example:

cross compile raspberry pi kernel youtube comment

And on the Pi Forums, it seems like nobody worth their salt compiles the kernel on the Pi either, so I figured—since I'm probably going to have to do it again another thousand times in my life—I might as well put together a guide for how to do it on a Mac.

What does Nvidia buying ARM mean for Raspberry Pi?

Over the weekend, Nvidia confirmed it would purchase ARM from Softbank for $40 billion.

Now, what is ARM, why is Nvidia buying it, and what does any of this have to do with the Raspberry Pi?

Well, let's start with ARM.

This blog post also has a video version to go along with it.

What is ARM?

ARM can refer to a number of things, but let's start by talking about the company, Arm Holdings. They have lineage dating back to Acorn computers, a British computer manufacturer founded in the late 1970s that designed the first 'Acorn RISC Machine architecture' chips, AKA 'ARM'.

BBC Micro Minicomputer - Source: Wikipedia