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
System | Processor | Clock | Time (sec) |
Sun Ultra 10 | UltraSPARC IIi | 1 × 360 MHz | 5829 |
Sun Enterprise 4500 | UltraSPARC II | 1 × 400 MHz | 5639 |
Sun Netra T1 | UltraSPARC IIi | 1 × 440 MHz | 5686 |
Sun Ultra 60 | UltraSPARC II | 1 × 360 MHz | 5561 |
Sun Ultra 60 | UltraSPARC II | 1 × 450 MHz | 4974 |
Sun Blade 100 | UltraSPARC IIe | 1 × 500 MHz | 8634 |
Sun Fire v100 | UltraSPARC IIi | 1 × 548 MHz | 5640 |
Sun Blade 150 | UltraSPARC IIi | 1 × 550 MHz | 5249 |
Sun Blade 150 | UltraSPARC IIi | 1 × 650 MHz | 5023 |
Sun Blade 1000 | UltraSPARC III | 1 × 750 MHz | 2520 |
Sun Blade 1000 | UltraSPARC III Cu | 1 × 900 MHz | 2030 |
Sun Fire v210 | UltraSPARC IIIi | 1 × 1.0 GHz | 2053 |
Sun Blade 1500 (Red) | UltraSPARC IIIi | 1 × 1.1 GHz | 1862 |
Sun Fire v240 | UltraSPARC IIIi | 1 × 1.5 GHz | 1558 |
Sun Blade 1500 (Silver) | UltraSPARC IIIi | 1 × 1.5 GHz | 1501 |
Sun Blade 2500 (Silver) | UltraSPARC IIIi | 1 × 1.6 GHz | 1428 |
MIPS Processors
System | Processor | Clock | Time (sec) |
SGI O2 | MIPS R5000 | 1 × 180 MHz | 25299 |
SGI O2 | MIPS R10000 | 1 × 195 MHz | 14064 |
SGI Indigo2 | MIPS R10000 | 1 × 195 MHz | 8438 |
SGI Octane | MIPS R10000 | 1 × 225 MHz | 5744 |
SGI Fuel | MIPS R14000 | 1 × 500 MHz | 2507 |
SGI Fuel | MIPS R14000 | 1 × 600 MHz | 1787 |
POWER/PowerPC Processors
System | Processor | Clock | Time (sec) |
IBM RS/6000 43p 150 | PowerPC 604e | 1 × 375 MHz | 10889 |
Apple Power Mac G4 | PowerPC 7450 | 1 × 733 MHz | 7291 |
Apple Power Mac G4 | PowerPC 7450 | 1 × 933 MHz | 4533 |
Apple Power Mac G5 | PowerPC 970 | 1 × 1.6 GHz | 2317 |
IBM Blue Gene/P | PowerPC 450 | 1 × 850 MHz | 3030 |
IBM Blue Gene/P | PowerPC 450 | 4 × 850 MHz | 1720 |
IBM Power 550 Express | POWER6 | 1 × 4.2 GHz | 646 |
IBM Power 550 Express | POWER6 | 4 × 4.2 GHz | 414 |
PA-RISC Processors
System | Processor | Clock | Time (sec) |
HP C8000 | PA-8800 | 1 × 1.0 GHz | 801 |
Itanium Processors
System | Processor | Clock | Time (sec) | Optimized Time (sec) |
HP rx2600 | Itanium 2 900 | 1 × 900 MHz | 1294 | 1212 |
HP rx2600 | Itanium 2 900 | 2 × 900 MHz | 1094 | 986 |
ARM Processors
System | Processor | Clock | Time (sec) | Optimized Time (sec) |
Raspberry Pi Model B | ARM1176JZF-S | 1 × 700 MHz | 16459 | 10000 |
BeagleBone Black Rev C | ARM Cortex-A8 | 1 × 1.0 GHz | 9781 | 8213 |
Terasic DE10-Nano | ARM Cortex-A9 | 1 × 800 MHz | 3639 | 2501 |
Terasic DE10-Nano | ARM Cortex-A9 | 2 × 800 MHz | 3203 | 2011 |
BeagleBone AI | ARM Cortex-A15 | 1 × 1.5 GHz | 1220 | 1004 |
BeagleBone AI | ARM Cortex-A15 | 2 × 1.5 GHz | 1146 | 946 |
Raspberry Pi 3 | ARM Cortex-A53 | 1 × 1.2 GHz | 2531 | 1463 |
Raspberry Pi 3 | ARM Cortex-A53 | 2 × 1.2 GHz | 2427 | 1489 |
Raspberry Pi 3 | ARM Cortex-A53 | 4 × 1.2 GHz | 2508 | 1939 |
Raspberry Pi 4 | ARM Cortex-A72 | 1 × 1.5 GHz | 879 | 732 |
Raspberry Pi 4 | ARM Cortex-A72 | 2 × 1.5 GHz | 815 | 592 |
Raspberry Pi 4 | ARM Cortex-A72 | 3 × 1.5 GHz | 939 | 589 |
Raspberry Pi 4 | ARM Cortex-A72 | 4 × 1.5 GHz | 1146 | 639 |
NVIDIA Jetson Nano | ARM Cortex-A57 | 1 × 1.4 GHz | 876 | 778 |
NVIDIA Jetson Nano | ARM Cortex-A57 | 2 × 1.4 GHz | 738 | 592 |
NVIDIA Jetson Nano | ARM Cortex-A57 | 3 × 1.4 GHz | 707 | 541 |
NVIDIA Jetson Nano | ARM Cortex-A57 | 4 × 1.4 GHz | 667 | 528 |
MacBook Air M1 | Apple M1/Rosetta | 1 × 3.2 GHz | 118 | 108 |
MacBook Air M1 | Apple M1/Rosetta | 2 × 3.2 GHz | 93 | 83 |
MacBook Air M1 | Apple M1/Rosetta | 3 × 3.2 GHz | 84 | 77 |
MacBook Air M1 | Apple M1/Rosetta | 4 × 3.2 GHz | 78 | 73 |
MacBook Air M1 | Apple M1/Rosetta | 8 × 3.2 GHz | 80 | 78 |
MacBook Air M1 | Apple M1 | 1 × 3.2 GHz | 94 | 86 |
MacBook Air M1 | Apple M1 | 2 × 3.2 GHz | 73 | 67 |
MacBook Air M1 | Apple M1 | 3 × 3.2 GHz | 66 | 61 |
MacBook Air M1 | Apple M1 | 4 × 3.2 GHz | 61 | 59 |
MacBook Air M1 | Apple M1 | 8 × 3.2 GHz | 65 | 65 |
MacBook Pro M1 Pro | Apple M1 Pro | 1 × 3.2 GHz | 93 | 106 |
MacBook Pro M1 Pro | Apple M1 Pro | 2 × 3.2 GHz | 72 | 65 |
MacBook Pro M1 Pro | Apple M1 Pro | 4 × 3.2 GHz | 60 | 60 |
MacBook Pro M1 Pro | Apple M1 Pro | 6 × 3.2 GHz | 60 | 61 |
MacBook Pro M1 Pro | Apple M1 Pro | 8 × 3.2 GHz | 63 | 64 |
D64pls_v5 | Ampere Altra Q80-30 | 1 × 3.0 GHz | 212 | 195 |
D64pls_v5 | Ampere Altra Q80-30 | 2 × 3.0 GHz | 163 | 148 |
D64pls_v5 | Ampere Altra Q80-30 | 3 × 3.0 GHz | 144 | 136 |
D64pls_v5 | Ampere Altra Q80-30 | 4 × 3.0 GHz | 136 | 134 |
D64pls_v5 | Ampere Altra Q80-30 | 8 × 3.0 GHz | 144 | 145 |
D64pls_v5 | Ampere Altra Q80-30 | 16 × 3.0 GHz | 196 | 197 |
D64pls_v5 | Ampere Altra Q80-30 | 32 × 3.0 GHz | 313 | 310 |
D64pls_v5 | Ampere Altra Q80-30 | 64 × 3.0 GHz | 548 | 557 |
D96pls_v5 | Microsoft Cobalt 100 | 1 × 3.4 GHz | 140 | 120 |
D96pls_v5 | Microsoft Cobalt 100 | 2 × 3.4 GHz | 104 | 92 |
D96pls_v5 | Microsoft Cobalt 100 | 3 × 3.4 GHz | 90 | 85 |
D96pls_v5 | Microsoft Cobalt 100 | 4 × 3.4 GHz | 85 | 83 |
D96pls_v5 | Microsoft Cobalt 100 | 8 × 3.4 GHz | 93 | 92 |
D96pls_v5 | Microsoft Cobalt 100 | 16 × 3.4 GHz | 122 | 122 |
D96pls_v5 | Microsoft Cobalt 100 | 32 × 3.4 GHz | 187 | 184 |
D96pls_v5 | Microsoft Cobalt 100 | 48 × 3.4 GHz | 254 | 255 |
D96pls_v5 | Microsoft Cobalt 100 | 96 × 3.4 GHz | 507 | 500 |
x86 Processors
System | Processor | Clock | Time (sec) | Optimized Time (sec) |
Dell Inspiron 8100 | Pentium III M | 1 × 1.1 GHz | 3680 | |
Tyan MPX S2466 | Athlon MP 1900+ | 1 × 1.6 GHz | 3660 | |
Dell OptiPlex GX260 | Pentium 4 (Northwood) | 1 × 1.8 GHz | 2170 | |
Dell OptiPlex GX260 | Pentium 4 (Northwood) | 1 × 2.4 GHz | 1661 | |
Gateway E-4650 | Pentium 4 (Northwood) | 1 × 2.2 GHz | 1743 | |
Dell PowerEdge 2850 | Xeon 2.8 (Nocona) | 1 × 2.8 GHz | 974 | |
- | Pentium D | 1 × 3.2 GHz | 929 | |
Asus Z70va | Pentium M 760 | 1 × 2.0 GHz | 731 | |
Sun Fire X4100 | Opteron 275 | 1 × 2.2 GHz | 806 | |
Sun Fire X2200 M2 | Opteron 2214 | 1 × 2.2 GHz | 873 | |
Sun Fire X2200 M2 | Opteron 2376 | 1 × 2.3 GHz | 592 | |
Supermicro | Opteron 2216 | 1 × 2.4 GHz | 713 | |
Supermicro X8DTT | Xeon X5560 | 1 × 2.8 GHz | 304 | |
Dell | Core 2 Duo E6700 | 1 × 2.7 GHz | 439 | |
Dell OptiPlex 760 | Core 2 Duo E7500 | 1 × 2.9 GHz | 346 | |
Dell OptiPlex 990 | Core i7-2600 | 1 × 3.4 GHz | 201 | |
HP dc7800p | Core 2 Duo E8400 | 1 × 3.0 GHz | 318 | |
HP e9180f | Core i7 920 | 1 × 2.7 GHz | 334 | |
HP ProLiant SL390s G7 | Xeon X5672 | 1 × 3.2 GHz | 310 | |
HP ProLiant DL360 G7 | Xeon 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 H8DGT | Opteron 6212 | 1 × 2.6 GHz | 353 | |
- | Opteron 6176 | 1 × 2.3 GHz | 575 | |
Supermicro SC818TQ-1400LPB | Opteron 6136 | 1 × 2.2 GHz | 565 | 483 |
Supermicro SC818TQ-1400LPB | Opteron 6136 | 2 × 2.2 GHz | 477 | 419 |
Supermicro SC818TQ-1400LPB | Opteron 6136 | 4 × 2.2 GHz | 412 | 407 |
Supermicro SC818TQ-1400LPB | Opteron 6136 | 8 × 2.2 GHz | 476 | 470 |
Appro gB222X | Xeon E5530 | 1 × 2.4 GHz | 416 | |
Appro gB222X | Xeon E5530 | 2 × 2.4 GHz | 306 | |
Appro gB222X | Xeon E5530 | 4 × 2.4 GHz | 265 | |
Appro gB222X | Xeon E5530 | 8 × 2.4 GHz | 256 | |
HP ProLiant SL230s G8 | Xeon E5-2660 | 1 × 3.0 GHz | 270 | |
HP ProLiant SL230s G8 | Xeon E5-2660 | 2 × 3.0 GHz | 208 | |
HP ProLiant SL230s G8 | Xeon E5-2660 | 4 × 3.0 GHz | 171 | |
HP ProLiant SL230s G8 | Xeon E5-2660 | 8 × 3.0 GHz | 171 | |
HP ProLiant SL230s G8 | Xeon E5-2660 | 16 × 3.0 GHz | 164 | |
Appro gB512X | Xeon E5-2670 | 1 × 2.6 GHz | 292 | 237 |
Appro gB512X | Xeon E5-2670 | 4 × 2.6 GHz | 175 | 155 |
Appro gB512X | Xeon E5-2670 | 8 × 2.6 GHz | 164 | 141 |
Dell T5600 | Xeon E5-2687W | 1 × 3.1 GHz | 205 | |
Dell T5600 | Xeon E5-2687W | 2 × 3.1 GHz | 165 | |
Dell T5600 | Xeon E5-2687W | 4 × 3.1 GHz | 133 | |
Dell T5600 | Xeon E5-2687W | 8 × 3.1 GHz | 128 | |
Dell PowerEdge C8220X | Xeon Phi SE10P | 8 × 1.1 GHz | 1802 | 1209 |
Dell PowerEdge C8220X | Xeon Phi SE10P | 16 × 1.1 GHz | 1589 | |
Dell PowerEdge C8220X | Xeon Phi SE10P | 32 × 1.1 GHz | 1479 | 1106 |
Cray XC30 | Xeon E5-2695 v2 | 1 × 2.4 GHz | 279 | 225 |
Cray XC30 | Xeon E5-2695 v2 | 2 × 2.4 GHz | 216 | 173 |
Cray XC30 | Xeon E5-2695 v2 | 4 × 2.4 GHz | 180 | 163 |
Cray XC30 | Xeon E5-2695 v2 | 6 × 2.4 GHz | 176 | 154 |
Cray XC30 | Xeon E5-2695 v2 | 12 × 2.4 GHz | 163 | 149 |
Cray XC30 | Xeon E5-2695 v2 | 24 × 2.4 GHz | 166 | 153 |
Cray XC40 | Xeon E5-2698 v3 | 1 × 2.3 GHz | 232 | 178 |
Cray XC40 | Xeon E5-2698 v3 | 2 × 2.3 GHz | 176 | 137 |
Cray XC40 | Xeon E5-2698 v3 | 4 × 2.3 GHz | 150 | 130 |
Cray XC40 | Xeon E5-2698 v3 | 8 × 2.3 GHz | 150 | 132 |
Cray XC40 | Xeon E5-2698 v3 | 16 × 2.3 GHz | 149 | 136 |
Cray XC40 | Xeon 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 XC40 | Xeon Phi 7250 | 4 × 1.4 GHz | 1259 | 839 |
Cray XC40 | Xeon Phi 7250 | 4 × 1.4 GHz | 1009 | 774 |
Cray XC40 | Xeon Phi 7250 | 4 × 1.4 GHz | 858 | 687 |
Cray XC40 | Xeon Phi 7250 | 4 × 1.4 GHz | 763 | 667 |
Cray XC40 | Xeon Phi 7250 | 4 × 1.4 GHz | 725 | 667 |
Cray XC40 | Xeon Phi 7250 | 4 × 1.4 GHz | 713 | 674 |
Cray XC40 | Xeon Phi 7250 | 4 × 1.4 GHz | 744 | 712 |
Apple iMac 18,3 | Core i5-7600K | 1 × 3.8 GHz | 189 | 143 |
Apple iMac 18,3 | Core i5-7600K | 2 × 3.8 GHz | 125 | 107 |
Apple iMac 18,3 | Core i5-7600K | 4 × 3.8 GHz | 115 | 97 |
Apple MacBookPro 15,2 | Core i7-8559U | 1 × 2.7 GHz | 147 | 118 |
Apple MacBookPro 15,2 | Core i7-8559U | 2 × 2.7 GHz | 117 | 98 |
Apple MacBookPro 15,2 | Core i7-8559U | 3 × 2.7 GHz | 106 | 87 |
Apple MacBookPro 15,2 | Core 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,2 | Intel i7-8700B | 1 × 3.2 GHz | 169 | 100 |
Mac Mini 8,2 | Intel i7-8700B | 2 × 3.2 GHz | 127 | 96 |
Mac Mini 8,2 | Intel i7-8700B | 3 × 3.2 GHz | 113 | 96 |
Mac Mini 8,2 | Intel i7-8700B | 4 × 3.2 GHz | 107 | 104 |
Mac Mini 8,2 | Intel i7-8700B | 6 × 3.2 GHz | 109 | 137 |
Cray EX235n | AMD EPYC 7763 | 1 × 2.5 GHz | 141 | 124 |
Cray EX235n | AMD EPYC 7763 | 2 × 2.5 GHz | 145 | 121 |
Cray EX235n | AMD EPYC 7763 | 3 × 2.5 GHz | 116 | 104 |
Cray EX235n | AMD EPYC 7763 | 4 × 2.5 GHz | 114 | 101 |
Cray EX235n | AMD EPYC 7763 | 8 × 2.5 GHz | 105 | 98 |
Cray EX235n | AMD EPYC 7763 | 16 × 2.5 GHz | 127 | 118 |
Cray EX235n | AMD EPYC 7763 | 32 × 2.5 GHz | 180 | 160 |
Cray EX235n | AMD EPYC 7763 | 64 × 2.5 GHz | 237 | 233 |
Cray EX235n | AMD EPYC 7763 | 128 × 2.5 GHz | 472 | 425 |
Lenovo P14s Gen2 | Intel i7-1185G7 | 1 × 3.0 GHz | 116 | 97 |
Lenovo P14s Gen2 | Intel i7-1185G7 | 2 × 3.0 GHz | 89 | 83 |
Lenovo P14s Gen2 | Intel i7-1185G7 | 3 × 3.0 GHz | 86 | 81 |
Lenovo P14s Gen2 | Intel i7-1185G7 | 4 × 3.0 GHz | 89 | 85 |
Lenovo P14s Gen2 | Intel i7-1185G7 | 8 × 3.0 GHz | 172 | 127 |
Intel NUC 12 Extreme | Intel i7-12700 | 1 × 2.1 GHz | 88 | 82 |
Intel NUC 12 Extreme | Intel i7-12700 | 2 × 2.1 GHz | 72 | 66 |
Intel NUC 12 Extreme | Intel i7-12700 | 4 × 2.1 GHz | 61 | 64 |
Intel NUC 12 Extreme | Intel i7-12700 | 8 × 2.1 GHz | 69 | 68 |
Intel NUC 12 Extreme | Intel i7-12700 | 10 × 2.1 GHz | 74 | 75 |
Intel NUC 12 Extreme | Intel i7-12700 | 20 × 2.1 GHz | 125 | 134 |
Azure HBv3 | AMD EPYC 7V73X | 1 × 2.2 GHz | 130 | 115 |
Azure HBv3 | AMD EPYC 7V73X | 2 × 2.2 GHz | 102 | 88 |
Azure HBv3 | AMD EPYC 7V73X | 3 × 2.2 GHz | 90 | 80 |
Azure HBv3 | AMD EPYC 7V73X | 4 × 2.2 GHz | 83 | 76 |
Azure HBv3 | AMD EPYC 7V73X | 8 × 2.2 GHz | 82 | 80 |
Azure HBv3 | AMD EPYC 7V73X | 16 × 2.2 GHz | 103 | 100 |
Azure HBv3 | AMD EPYC 7V73X | 32 × 2.2 GHz | 142 | 136 |
Azure HBv3 | AMD EPYC 7V73X | 64 × 2.2 GHz | 256 | 249 |
Azure HBv3 | AMD EPYC 7V73X | 120 × 2.2 GHz | 430 | 423 |