Computation Simulation of Multi-Body Interactions Benchmarks
The table below shows elapsed process time in seconds for the Multipole program using the O(N) multipole method and the O(N^2) naive method. The benchmark results may be useful when deciding which computer hardware is suitable for your processing needs.
The Multipole program is written in K&R C and is predominately floating point calculations. The program allocates a 3-dimensional tree in memory and each node is visited many times. This exercises the memory of the benchmarked computer. The naive method is just a tight loop calculation of about 10 lines of code. Finally, there is virtually no input or output to interfere with the benchmarked results. The program is compiled with the vendor supplied cc(1) compiler at the high level of optimization (e.g. -O3, -fast). The timings are reported as elapsed time in seconds obtained on a quiet machine. The program was executed three times using a simulation of 262143, 524287, and 1048576 particles and the average cpu time reported:
cat /proc/cpuinfo time multipole 262143 3 time multipole 524287 3 time multipole 1048576 3
A number of vendors have told us about tweaks to the code we can do to improve performance on their architecture. However, the whole point of this research project was to lower the execution time by lowering the cost of the algorithm, not by tweaking code. With Open Systems and ANSI C, researchers should no longer have to concern themselves with tweaking code to gain performance on a particular architecture.
System CPU Type/ Multipole Naive
Particles Name MHz Method Method
-----------------------------------------------------------------------
1048576 Intel Xeon X5675 @ 3.07GHz 38 8946
Intel Quad i7 950 @ 3.07GHz 45 9297
Intel Xeon X5650 @ 2.67GHz 51 13730
Intel Xeon E5420 @ 2.50GHz 63 10281
Intel Xeon E5530 @ 2.40GHz 70 12508
Intel Core2 6700 @ 2.66GHz 90 21704
Intel Xeon E5502 @ 1.87GHz 97 19182
Intel Xeon 2992 101 19845
Intel Xeon 5160 @ 3.00GHz 108 19892
Intel Quad Q9500 @ 2.73GHz 113 7930
Intel Xeon E7350 @ 2.93GHz 149 17158
Intel Woodcrest 2660 117 18507
AMD Opteron 170/2000 156 17319
Dell Xeon/2660 162 18414
Intel Xeon X7550 @ 2.00GHz 175 14092
Dell PentiumIV/2800 177 17870
Sun V40z/IA64 Opteron 844/1800 198 14351
ESLNX70/IA64 4xItanium 2/1500 198 69911
ESLNX48/IA64 Xeon/3600 239 12917
Sun Blade 1500 UltraSPARC IIIi/1100 404 79049
System CPU Type/ Multipole Naive
Particles Name MHz Method Method
-----------------------------------------------------------------------
524287 Intel Xeon E5420 @ 2.50GHz 25 2515
Intel Xeon X5675 @ 3.07GHz 29 2235
Intel Quad i7 950 @ 3.07GHz 36 2322
Intel Xeon X5650 @ 2.67GHz 39 2790
Intel Xeon X7550 @ 2.00GHz 49 2815
Intel Xeon E5530 @ 2.40GHz 56 3101
Intel Core2 6700 @ 2.66GHz 72 5425
Intel Xeon 2992 83 4917
Intel Xeon E5502 @ 1.87GHz 87 4771
Intel Xeon 5160 @ 3.00GHz 91 5007
Intel Woodcrest 2660 99 4616
Intel Quad Q9500 @ 2.73GHz 109 1979
Intel Xeon E7350 @ 2.93GHz 139 4290
AMD Opteron 170/2000 146 4335
Dell Xeon/2660 138 4595
ell PentiumIV/2800 151 4521
ESLNX70/IA64 4xItanium 2/1500 154 16235
Sun V40z/IA64 Opteron 844/1800 193 3592
ESLNX48/IA64 Xeon/3600 220 3227
Sun Blade 1500 UltraSPARC IIIi/1100 358 17811
System CPU Type/ Multipole Naive
Particles Name MHz Method Method
-----------------------------------------------------------------------
262143 Intel Quad Q9500 @ 2.73GHz 6 483
Intel Xeon X5675 @ 3.07GHz 6 558
Intel Quad i7 950 @ 3.07GHz 6 579
Intel Xeon X5650 @ 2.67GHz 7 666
Intel Xeon E5420 @ 2.50GHz 8 612
Intel Xeon E5530 @ 2.40GHz 8 763
Intel Xeon X7550 @ 2.00GHz 8 795
Intel Xeon E7350 @ 2.93GHz 9 1073
Intel Woodcrest 2660 11 1148
Intel Xeon 2992 11 1214
Intel Xeon 5160 @ 3.00GHz 11 1243
Intel Core2 6700 @ 2.66GHz 12 1356
AMD Opteron 170/2000 13 1075
Sun V40z/IA64 Opteron 844/1800 13 884
Intel Xeon E5502 @ 1.87GHz 14 1253
ESLNX48/IA64 Xeon/3600 15 806
Dell Xeon/2660 19 1149
Dell PentiumIV/2800 20 1131
ESLNX70/IA64 4xItanium 2/1500 29 3126
Sun Blade 1500 UltraSPARC IIIi/1100 33 4298
Sun SunFire 4800 8xUltra-III/750 38 4144
Dell PentiumIII/700 49 9600
SGI R12000/400 79 3521
Compaq AlphaV6/500 89 2365
Dell OptiPlex GX1p PentiumIII/500 104 12318
Apple G4 G4-450 Altivec 121 16220
SGI Origin R10000/250 144 4840
Sun X86 PentiumPro/266 135 17342
NT PentiumPro/200 142 15569
Sun Ultra-30 Ultra-II/300 144 9691
Sun Ultra Ultra-II/300 159 9236
Sun X86 PentiumPro/200 186 25829
Win 95 PentiumPro/150 195 26293
Sun Ultra-30 Ultra-II/250 222 13900
Sun Ultra-5 Ultra Sparc IIi/266 228 12640
Sun Creator Ultra-1/167 229 13509
Sun Creator Ultra-1/200 236 14770
Sun X86 PentiumPro/150 242 36216
SGI PowerIndigo2 R8000/75 266 20632
Sun X86 PentiumPro/133 274 33146
Sun Ultra-Enterprise 4xUltraSPARC-II/250 290 19542
Apple 700/150 MPC604/150 303 23786
IBM 43P MPC604/133 330 27053
Sun X86 6xPentiumPro/200 341 38219
CRAY C90 424 2458
Sun SS20/612 SuprSP/60 430 28995
Sun SS5 TurboSparc 447 30024
Apple 8500 G3 536 28336
IBM 580 POWER/62 602 45633
Sun SS10/412 SuprSP/40 641 43311
DEC 3000/500 A21064/150 641 72490
Sun SS5/85 MicroSP2/85 744 *
SGI Indigo2 R4400/100 761 80131
Sun SS5/70 MicroSP2/70 764 79141
Sun SS10/41 SuprSP/40 819 49442
Sun SS2/PowerUp WeitekPwUP/40 868 *
Sun SS10/30 SuprSP/20 891 52690
Sun X86 Pentium/83 916 157188
HP 715/50 PA7100/50 922 44074
SGI Indigo R3000/33 1106 *
SGI Challenge/XL 8xR4400/75 1121 113268
Sun SS2 RT601/40 1194 *
IBM 320H POWER/25 1459 117838
Sun SS/IPX FJMB86903/40 1601 *
Sun SS/IPC FJMB86902/25 4070 *

![[sponsor]](/script/../image/networkredux.png)