Introduction

The specific benchmark used was a molecular dynamics simulation which involved simulating a calcium aluminosilicate glass consisting of 6500 atoms at room temperature under atmospheric pressure for 25,000 timesteps, or 25ps. The radial cutoff distance was 5.5 Å. All of the data was able to fit into the physical RAM of each system, resulting in no swapping. However, the simulation code used tabulates the potentials and forces rather than recalculating them at each time step, making the performance depend heavily on memory performance (latency and bandwidth) and the cache hierarchy in addition to floating point arithmetic.

All binaries were compiled with optimizations for the platform on which the benchmark was being run, including any special SIMD instruction sets that the compiler could generate on its own. There are differences in the optimizations performed by the compilers, but I've tried to use each compiler's most sensible set of optimization options. To see the exact options I used for each benchmark, in addition to a plethora of other metadata, you can view the raw data used to generate this page in my website's git repository.

Here is a graphical respresentation of the performance data:

Some measurements below also have an "Optimized Time" column. This measurement was made on a version of the application that periodically sorts the atomic positions in memory to increase cache hit rate. Because this optimization was not available at the time I started doing these benchmarks, many of the older systems do not have it.

SPARC Processors

SystemProcessor Clock Time (sec)
Sun Ultra 10UltraSPARC IIi1 × 360 MHz 5829
Sun Enterprise 4500UltraSPARC II1 × 400 MHz 5639
Sun Netra T1UltraSPARC IIi1 × 440 MHz 5686
Sun Ultra 60UltraSPARC II1 × 360 MHz 5561
Sun Ultra 60UltraSPARC II1 × 450 MHz 4974
Sun Blade 100UltraSPARC IIe1 × 500 MHz 8634
Sun Fire v100UltraSPARC IIi1 × 548 MHz 5640
Sun Blade 150UltraSPARC IIi1 × 550 MHz 5249
Sun Blade 150UltraSPARC IIi1 × 650 MHz 5023
Sun Blade 1000UltraSPARC III1 × 750 MHz 2520
Sun Blade 1000UltraSPARC III Cu1 × 900 MHz 2030
Sun Fire v210UltraSPARC IIIi1 × 1.0 GHz 2053
Sun Blade 1500 (Red)UltraSPARC IIIi1 × 1.1 GHz 1862
Sun Fire v240UltraSPARC IIIi1 × 1.5 GHz 1558
Sun Blade 1500 (Silver)UltraSPARC IIIi1 × 1.5 GHz 1501
Sun Blade 2500 (Silver)UltraSPARC IIIi1 × 1.6 GHz 1428

MIPS Processors

SystemProcessor Clock Time (sec)
SGI O2MIPS R50001 × 180 MHz 25299
SGI O2MIPS R100001 × 195 MHz 14064
SGI Indigo2MIPS R100001 × 195 MHz 8438
SGI OctaneMIPS R100001 × 225 MHz 5744
SGI FuelMIPS R140001 × 500 MHz 2507
SGI FuelMIPS R140001 × 600 MHz 1787

POWER/PowerPC Processors

SystemProcessor Clock Time (sec)
IBM RS/6000 43p 150PowerPC 604e1 × 375 MHz 10889
Apple Power Mac G4PowerPC 74501 × 733 MHz 7291
Apple Power Mac G4PowerPC 74501 × 933 MHz 4533
Apple Power Mac G5PowerPC 9701 × 1.6 GHz 2317
IBM Blue Gene/PPowerPC 4501 × 850 MHz 3030
IBM Blue Gene/PPowerPC 4504 × 850 MHz 1720
IBM Power 550 ExpressPOWER61 × 4.2 GHz 646
IBM Power 550 ExpressPOWER64 × 4.2 GHz 414

PA-RISC Processors

SystemProcessor Clock Time (sec)
HP C8000PA-88001 × 1.0 GHz 801

Itanium Processors

SystemProcessor Clock Time (sec) Optimized Time (sec)
HP rx2600Itanium 2 9001 × 900 MHz 1294 1212
HP rx2600Itanium 2 9002 × 900 MHz 1094 986

ARM Processors

SystemProcessor Clock Time (sec) Optimized Time (sec)
Raspberry Pi Model BARM1176JZF-S 1 × 700 MHz 16459 10000
BeagleBone Black Rev CARM Cortex-A8 1 × 1.0 GHz 9781 8213
Terasic DE10-NanoARM Cortex-A9 1 × 800 MHz 3639 2501
Terasic DE10-NanoARM Cortex-A9 2 × 800 MHz 3203 2011
BeagleBone AIARM Cortex-A15 1 × 1.5 GHz 1220 1004
BeagleBone AIARM Cortex-A15 2 × 1.5 GHz 1146 946
Raspberry Pi 3ARM Cortex-A53 1 × 1.2 GHz 2531 1463
Raspberry Pi 3ARM Cortex-A53 2 × 1.2 GHz 2427 1489
Raspberry Pi 3ARM Cortex-A53 4 × 1.2 GHz 2508 1939
Raspberry Pi 4ARM Cortex-A72 1 × 1.5 GHz 879 732
Raspberry Pi 4ARM Cortex-A72 2 × 1.5 GHz 815 592
Raspberry Pi 4ARM Cortex-A72 3 × 1.5 GHz 939 589
Raspberry Pi 4ARM Cortex-A72 4 × 1.5 GHz 1146 639
NVIDIA Jetson NanoARM Cortex-A57 1 × 1.4 GHz 876 778
NVIDIA Jetson NanoARM Cortex-A57 2 × 1.4 GHz 738 592
NVIDIA Jetson NanoARM Cortex-A57 3 × 1.4 GHz 707 541
NVIDIA Jetson NanoARM Cortex-A57 4 × 1.4 GHz 667 528
MacBook Air M1Apple M1/Rosetta 1 × 3.2 GHz 118 108
MacBook Air M1Apple M1/Rosetta 2 × 3.2 GHz 93 83
MacBook Air M1Apple M1/Rosetta 3 × 3.2 GHz 84 77
MacBook Air M1Apple M1/Rosetta 4 × 3.2 GHz 78 73
MacBook Air M1Apple M1/Rosetta 8 × 3.2 GHz 80 78
MacBook Air M1Apple M1 1 × 3.2 GHz 94 86
MacBook Air M1Apple M1 2 × 3.2 GHz 73 67
MacBook Air M1Apple M1 3 × 3.2 GHz 66 61
MacBook Air M1Apple M1 4 × 3.2 GHz 61 59
MacBook Air M1Apple M1 8 × 3.2 GHz 65 65
MacBook Pro M1 ProApple M1 Pro 1 × 3.2 GHz 93 106
MacBook Pro M1 ProApple M1 Pro 2 × 3.2 GHz 72 65
MacBook Pro M1 ProApple M1 Pro 4 × 3.2 GHz 60 60
MacBook Pro M1 ProApple M1 Pro 6 × 3.2 GHz 60 61
MacBook Pro M1 ProApple M1 Pro 8 × 3.2 GHz 63 64
D64pls_v5Ampere Altra Q80-30 1 × 3.0 GHz 212 195
D64pls_v5Ampere Altra Q80-30 2 × 3.0 GHz 163 148
D64pls_v5Ampere Altra Q80-30 3 × 3.0 GHz 144 136
D64pls_v5Ampere Altra Q80-30 4 × 3.0 GHz 136 134
D64pls_v5Ampere Altra Q80-30 8 × 3.0 GHz 144 145
D64pls_v5Ampere Altra Q80-3016 × 3.0 GHz 196 197
D64pls_v5Ampere Altra Q80-3032 × 3.0 GHz 313 310
D64pls_v5Ampere Altra Q80-3064 × 3.0 GHz 548 557
D96pls_v5Microsoft Cobalt 100 1 × 3.4 GHz 140 120
D96pls_v5Microsoft Cobalt 100 2 × 3.4 GHz 104 92
D96pls_v5Microsoft Cobalt 100 3 × 3.4 GHz 90 85
D96pls_v5Microsoft Cobalt 100 4 × 3.4 GHz 85 83
D96pls_v5Microsoft Cobalt 100 8 × 3.4 GHz 93 92
D96pls_v5Microsoft Cobalt 10016 × 3.4 GHz 122 122
D96pls_v5Microsoft Cobalt 10032 × 3.4 GHz 187 184
D96pls_v5Microsoft Cobalt 10048 × 3.4 GHz 254 255
D96pls_v5Microsoft Cobalt 10096 × 3.4 GHz 507 500

x86 Processors

SystemProcessor Clock Time (sec) Optimized Time (sec)
Dell Inspiron 8100Pentium III M 1 × 1.1 GHz 3680
Tyan MPX S2466Athlon MP 1900+ 1 × 1.6 GHz 3660
Dell OptiPlex GX260Pentium 4 (Northwood) 1 × 1.8 GHz 2170
Dell OptiPlex GX260Pentium 4 (Northwood) 1 × 2.4 GHz 1661
Gateway E-4650Pentium 4 (Northwood) 1 × 2.2 GHz 1743
Dell PowerEdge 2850Xeon 2.8 (Nocona) 1 × 2.8 GHz 974
-Pentium D 1 × 3.2 GHz 929
Asus Z70vaPentium M 760 1 × 2.0 GHz 731
Sun Fire X4100Opteron 275 1 × 2.2 GHz 806
Sun Fire X2200 M2Opteron 2214 1 × 2.2 GHz 873
Sun Fire X2200 M2Opteron 2376 1 × 2.3 GHz 592
SupermicroOpteron 2216 1 × 2.4 GHz 713
Supermicro X8DTTXeon X5560 1 × 2.8 GHz 304
DellCore 2 Duo E6700 1 × 2.7 GHz 439
Dell OptiPlex 760Core 2 Duo E7500 1 × 2.9 GHz 346
Dell OptiPlex 990Core i7-2600 1 × 3.4 GHz 201
HP dc7800pCore 2 Duo E8400 1 × 3.0 GHz 318
HP e9180fCore i7 920 1 × 2.7 GHz 334
HP ProLiant SL390s G7Xeon X5672 1 × 3.2 GHz 310
HP ProLiant DL360 G7Xeon X5672 1 × 3.2 GHz 308
-Xeon X5650 1 × 2.7 GHz 316
-Xeon X5680 1 × 3.3 GHz 313
-Xeon W5590 1 × 3.3 GHz 273
Supermicro H8DGTOpteron 6212 1 × 2.6 GHz 353
-Opteron 6176 1 × 2.3 GHz 575
Supermicro SC818TQ-1400LPBOpteron 6136 1 × 2.2 GHz 565 483
Supermicro SC818TQ-1400LPBOpteron 6136 2 × 2.2 GHz 477 419
Supermicro SC818TQ-1400LPBOpteron 6136 4 × 2.2 GHz 412 407
Supermicro SC818TQ-1400LPBOpteron 6136 8 × 2.2 GHz 476 470
Appro gB222XXeon E5530 1 × 2.4 GHz 416
Appro gB222XXeon E5530 2 × 2.4 GHz 306
Appro gB222XXeon E5530 4 × 2.4 GHz 265
Appro gB222XXeon E5530 8 × 2.4 GHz 256
HP ProLiant SL230s G8Xeon E5-2660 1 × 3.0 GHz 270
HP ProLiant SL230s G8Xeon E5-2660 2 × 3.0 GHz 208
HP ProLiant SL230s G8Xeon E5-2660 4 × 3.0 GHz 171
HP ProLiant SL230s G8Xeon E5-2660 8 × 3.0 GHz 171
HP ProLiant SL230s G8Xeon E5-2660 16 × 3.0 GHz 164
Appro gB512XXeon E5-2670 1 × 2.6 GHz 292 237
Appro gB512XXeon E5-2670 4 × 2.6 GHz 175 155
Appro gB512XXeon E5-2670 8 × 2.6 GHz 164 141
Dell T5600Xeon E5-2687W 1 × 3.1 GHz 205
Dell T5600Xeon E5-2687W 2 × 3.1 GHz 165
Dell T5600Xeon E5-2687W 4 × 3.1 GHz 133
Dell T5600Xeon E5-2687W 8 × 3.1 GHz 128
Dell PowerEdge C8220XXeon Phi SE10P 8 × 1.1 GHz 1802 1209
Dell PowerEdge C8220XXeon Phi SE10P 16 × 1.1 GHz 1589
Dell PowerEdge C8220XXeon Phi SE10P 32 × 1.1 GHz 1479 1106
Cray XC30Xeon E5-2695 v2 1 × 2.4 GHz 279 225
Cray XC30Xeon E5-2695 v2 2 × 2.4 GHz 216 173
Cray XC30Xeon E5-2695 v2 4 × 2.4 GHz 180 163
Cray XC30Xeon E5-2695 v2 6 × 2.4 GHz 176 154
Cray XC30Xeon E5-2695 v2 12 × 2.4 GHz 163 149
Cray XC30Xeon E5-2695 v2 24 × 2.4 GHz 166 153
Cray XC40Xeon E5-2698 v3 1 × 2.3 GHz 232 178
Cray XC40Xeon E5-2698 v3 2 × 2.3 GHz 176 137
Cray XC40Xeon E5-2698 v3 4 × 2.3 GHz 150 130
Cray XC40Xeon E5-2698 v3 8 × 2.3 GHz 150 132
Cray XC40Xeon E5-2698 v3 16 × 2.3 GHz 149 136
Cray XC40Xeon E5-2698 v3 32 × 2.3 GHz 152 143
-Xeon E5-2643 v4 1 × 3.4 GHz 202 160
-Xeon E5-2643 v4 2 × 3.4 GHz 154 122
-Xeon E5-2643 v4 3 × 3.4 GHz 132 110
-Xeon E5-2643 v4 6 × 3.4 GHz 116 102
Cray XC40Xeon Phi 7250 4 × 1.4 GHz 1259 839
Cray XC40Xeon Phi 7250 4 × 1.4 GHz 1009 774
Cray XC40Xeon Phi 7250 4 × 1.4 GHz 858 687
Cray XC40Xeon Phi 7250 4 × 1.4 GHz 763 667
Cray XC40Xeon Phi 7250 4 × 1.4 GHz 725 667
Cray XC40Xeon Phi 7250 4 × 1.4 GHz 713 674
Cray XC40Xeon Phi 7250 4 × 1.4 GHz 744 712
Apple iMac 18,3Core i5-7600K 1 × 3.8 GHz 189 143
Apple iMac 18,3Core i5-7600K 2 × 3.8 GHz 125 107
Apple iMac 18,3Core i5-7600K 4 × 3.8 GHz 115 97
Apple MacBookPro 15,2Core i7-8559U 1 × 2.7 GHz 147 118
Apple MacBookPro 15,2Core i7-8559U 2 × 2.7 GHz 117 98
Apple MacBookPro 15,2Core i7-8559U 3 × 2.7 GHz 106 87
Apple MacBookPro 15,2Core i7-8559U 4 × 2.7 GHz 97 84
-AMD EPYC 7702 1 × 2.0 GHz 160 146
-AMD EPYC 7702 2 × 2.0 GHz 123 112
-AMD EPYC 7702 4 × 2.0 GHz 101 98
-AMD EPYC 7702 8 × 2.0 GHz 106 105
-AMD EPYC 7702 16 × 2.0 GHz 122 119
-AMD EPYC 7702 32 × 2.0 GHz 163 163
-AMD EPYC 7702 64 × 2.0 GHz 303 302
Mac Mini 8,2Intel i7-8700B 1 × 3.2 GHz 169 100
Mac Mini 8,2Intel i7-8700B 2 × 3.2 GHz 127 96
Mac Mini 8,2Intel i7-8700B 3 × 3.2 GHz 113 96
Mac Mini 8,2Intel i7-8700B 4 × 3.2 GHz 107 104
Mac Mini 8,2Intel i7-8700B 6 × 3.2 GHz 109 137
Cray EX235nAMD EPYC 7763 1 × 2.5 GHz 141 124
Cray EX235nAMD EPYC 7763 2 × 2.5 GHz 145 121
Cray EX235nAMD EPYC 7763 3 × 2.5 GHz 116 104
Cray EX235nAMD EPYC 7763 4 × 2.5 GHz 114 101
Cray EX235nAMD EPYC 7763 8 × 2.5 GHz 105 98
Cray EX235nAMD EPYC 7763 16 × 2.5 GHz 127 118
Cray EX235nAMD EPYC 7763 32 × 2.5 GHz 180 160
Cray EX235nAMD EPYC 7763 64 × 2.5 GHz 237 233
Cray EX235nAMD EPYC 7763128 × 2.5 GHz 472 425
Lenovo P14s Gen2Intel i7-1185G7 1 × 3.0 GHz 116 97
Lenovo P14s Gen2Intel i7-1185G7 2 × 3.0 GHz 89 83
Lenovo P14s Gen2Intel i7-1185G7 3 × 3.0 GHz 86 81
Lenovo P14s Gen2Intel i7-1185G7 4 × 3.0 GHz 89 85
Lenovo P14s Gen2Intel i7-1185G7 8 × 3.0 GHz 172 127
Intel NUC 12 ExtremeIntel i7-12700 1 × 2.1 GHz 88 82
Intel NUC 12 ExtremeIntel i7-12700 2 × 2.1 GHz 72 66
Intel NUC 12 ExtremeIntel i7-12700 4 × 2.1 GHz 61 64
Intel NUC 12 ExtremeIntel i7-12700 8 × 2.1 GHz 69 68
Intel NUC 12 ExtremeIntel i7-12700 10 × 2.1 GHz 74 75
Intel NUC 12 ExtremeIntel i7-12700 20 × 2.1 GHz 125 134
Azure HBv3AMD EPYC 7V73X 1 × 2.2 GHz 130 115
Azure HBv3AMD EPYC 7V73X 2 × 2.2 GHz 102 88
Azure HBv3AMD EPYC 7V73X 3 × 2.2 GHz 90 80
Azure HBv3AMD EPYC 7V73X 4 × 2.2 GHz 83 76
Azure HBv3AMD EPYC 7V73X 8 × 2.2 GHz 82 80
Azure HBv3AMD EPYC 7V73X 16 × 2.2 GHz 103 100
Azure HBv3AMD EPYC 7V73X 32 × 2.2 GHz 142 136
Azure HBv3AMD EPYC 7V73X 64 × 2.2 GHz 256 249
Azure HBv3AMD EPYC 7V73X120 × 2.2 GHz 430 423