Hacker News new | ask | show | jobs
by tiffanyh 591 days ago
That's not an accurate comparison.

  Base Freq  Chip
  ---------  ----  
  2.4GHz     EPYC 9654
  4.7GHz     Ryzen 7950X 
As a result, the SINGLE core performance difference is ~2x

  Geekbench Single Core - Score
  -----------------------------
  1,827      EPYC 9654
  2,986      Ryzen 7950X 
Having such a large difference in single-core performance, will negate the sizable difference in total core count (96 vs 16).

--

https://browser.geekbench.com/processors/amd-epyc-9654

https://browser.geekbench.com/processors/amd-ryzen-9-7950x

2 comments

A 1.6x single core performance difference won't negate a 6x core count advantage in peak multi core performance. The problem above is not that the cores are slower, it's that Geekbench will literally not utilize the additional cores in the first place. This compounds with what you're saying - the few cores that do get used have high clocks on the low core count optimized part but lower clocks on the high core count optimized part.

Compare this to a multithreaded benchmark that does scale to all of the cores and you'll find the higher core count CPUs are able to push significantly higher scores despite the single thread difference e.g. https://www.cpubenchmark.net/high_end_cpus.html has them at 62,711 vs 117,317 in the opposite ranking direction. That should feel about right, otherwise AMD would only make the 16 core high frequency CPUs instead of 128 core low frequency monsters.

That's not to say the Geekbench score is bad or useless. It represents a specific type of workload... just not "peak multi core performance". It's more indicative of "mixed workload performance", where the extra 2x cores on the Ultra are more apparently going to be irrelevant.

> Having such a large difference in single-core performance, will negate the sizable difference in total core count (96 vs 16).

But why? Wouldn’t total score be approximately corecount*corescore? Of course it’s not exactly that because not all cores run full speed at the same time, but how are the cores weighted that 16 cores are better than 96 cores with half the speed each?

Geekbench 5 and earlier constructed the multi-core test as essentially running N independent copies of the single-core test. This effectively pretends that every subtest is embarrassingly parallel. Geekbench 6 switched to having the multi-core test actually operate like real multi-threaded software: a fixed-size problem is broken up to be divided among available cores, with a non-zero amount of coordination between threads and potential for less than perfectly linear scaling because Amdahl's Law isn't being ignored.
But that’s a very specific thing to adjust a benchmark for, what if I want to host 50 VMs on one server for example? Then the 100 core server would be much better than the 16 core server, even though it has a lower benchmark value.
It's not a "very specific" thing to adjust a benchmark for. It's the default case for practically all consumer workloads, and Geekbench is a consumer-focused benchmark.
Because multicore cpu's don't scale linearly due to NUMA.

https://en.wikipedia.org/wiki/Non-uniform_memory_access