Numa emulation on rk3588

Why should it?

The sole reason for this NUMA emulation thingy done with RPi 5 is to hide BCM2712’s terrible memory performance by improving the combined score of a single synthetic benchmark that does not repesent anything happening in the real world.

BCM2712 consists of four A76 cores yet before this NUMA patch thingy Geekbench 6 shows multi-core scores just twice as much as single-core scores which is a clear indication that there’s something wrong: both with the SoC and the benchmark in question.

If we disable the A55 cores on RK3588 designs we again get a quad-core A76 CPU where the GB6 multi-core score is at least three times higher than the single-core score of this specific benchmark:

Now with this NUMA nonsense the multi-core score of BCM2712 on GB6 improves by a few percent. And this only applies to this specific combination of SoC (or more precisely the memory controller inside) and benchmark version. Choose any other benchmark where the multi-threaded execution is not as flawed as Geekbench 6 (Geekbench 5 will already do since here RPi 5 scores almost thee times higher multi vs. single) and this NUMA emulation hack doesn’t change anything. Same applies to replacing BCM2712 with any other SoC not as broken wrt memory performance.

Geekbench 6 (at least on any platform other than x64) is garbage especially wrt multi-core scores: see here @geerlingguy testing a 192-core Ampere Altra setup:

Single vs. multi:

  • Geekbench 6: 1309 vs. 15160 (192 cores score 11.6 times faster than a single core)
  • Geekbench 5: 958 vs. 80639 (192 cores score 84 times faster than a single core)
  • 7-zip MIPS (v16.02): 4783 vs. 745720 (192 cores score 156 times faster than a single core)

I really don’t get why people (still) rely on this Geekbench garbage… and on other platforms like RISC-V it’s even worse than the pathetic situation we observe on ARM…

EDIT: @geerlingguy corrected me wrt benchmark situation on RPi 5B. At least HPL and Ollama do also benefit from this NUMA emulation stuff in the range of 4%-5%.

4 Likes