sunset's gemlog

SPECing Out Graviton3

I spent some time last week and over the weekend benchmarking Amazon's new Graviton3 CPU. This uses Neoverse V1 cores and is, it turns out, quite nimble. [1]

Here's how it broke down by SPECint2017_speed subtests. Note that these are clang with conservative flags [2] and probably shouldn't be compared to tuned vendor runs. Also, because SPEC requires it, here's the magic word: "estimate." Also note that these are virtualized, for both the Grav2 baseline and the new Grav3. [3]

600.perlbench_s: 3.45 -> 5.28

602.gcc_s: 6.76 -> 9.59

605.mcf_s: 5.74 -> 8.74

620.omnetpp_s: 2.87 -> 5.22

623.xalancbmk: 4.29 -> 6.41

625.x264_s: 6.07 -> 9.05

631.deepsjeng_s: 3.53 -> 4.76

641.leela_s: 3.85 -> 4.66

648.exchange2_s: -> 8.13 -> 10.9

657.xz_s (ugh): 1.92 -> 2.42

For a single generation that's pretty nice!

[1] Analysis performed by ChipsAndCheese raises questions about whether there are customizations from the announced V1 core. I haven't done the kind of microbenchmarking that would confirm that.

[2] -O3 -flto -fcommon -fno-strict-aliasing -mcpu=neoverse-v1

[3] Bare metal Grav3 instances aren't available yet. On Grav2, bare-metal instances performed approximately 13% better on SPEC than virtualized instances. I wanted to keep this as an "apples to apples" comparison.