-
Multi-Core Prime
I developed a multithreaded CPU benchmark that calculates PRIME numbers using a multithreaded parallel algorithm written in C++ and assembler. The software calculates prime numbers from 1 to 1.000.000.000 [one billion].
A slider will help you set the exact interval: from 1 to 10.000.000 [ten millions] and up to 1.000.000.000 [1 billion]. The default value of the slider is 100.000.000 [one hundred millions]. In that case, the application will calculate all the prime numbers between 1 and 100 millions.
Also, you can create a datafile that can be used to submit results to HWBOT.
Download Link:
http://www.pcgamingxtreme.ro/
http://i47.tinypic.com/3480im1.jpg
-
Thank you for sharing your work :-)
I did run it on 2 machines (both on stock frequency)
100 million:
i7-3770K: 13.43 sec
2 x E5-2687W: 6.70 sec
1 billion:
i7-3770K: 353.665 sec
2 x E5-2687W: 166.86 sec
A few comments:
I could not upload the results on hwbot. The drop down list in the CPU field didn't work - to identify the CPU types (as required by the upload page). Without that field properly recognized, an upload was impossible (at least for me)
Looking at the times in the one billion run, scaling between the 2 systems is not linear. If the efficiency of the i7-3770K scaling on 8 cores (4cores+4HT) could be transferred to the dual socket machine with 32 cores (16+16HT), execution time should be in the 96 sec range. Not sure how much impact the memory layout of your application on a NUMA machine has. This is one of the areas where CPU/Memory affinity makes a difference. If the required data is in the Dimms of the other socket, all data has to be transferred between the 2 sockets (via the QPI interconnect). Memory latency on the Sandy Bridge CPUs increases by approx 50% as well, stalling the memory pipeline of the affected CPUs earlier. You might take a look at the Numa development guidelines of Windows.
with kind regards,
Andy
-
Thanks man!
Update: The application is not going to "Not Responding" anymore during the benchmark!
-
ANd issues with FXs are fixed with this new version?
-
Just checked it on an i7-3930K (6 x3.2 GHz non-overclocked CPU)
100m: 14,476 sec
1bn: 336,275 sec
Interestingly, the time for 100m is 8% slower than the performance on a 4-core i7-3770K (not overclocked) and for the 1bn run the time of the 6-core is 5% faster.
I cross checked the 2 systems with another benchmark (ycrunch) and the performance difference is as expected approx 36% faster. Which is roughly in line with 2 more cores and 3,2 GHz in the 6-core CPU vs. 3,5GHz in the 4-core CPU. Both are Sandy Bridge architectures, the 3930K has more memory bandwidth per core.
Would be great if someone could verify these results. Thanks.
You might look into the code if there is somewhere a 4core dependency which doesnt scale well beyond 4.
regards,
Andy
-
OK, thanks all for testing this. The software is optimized for multicore but the algorithm is not that complex and may not reveal 100% accurate the differences between different CPU's.
Having this experience and this goal, I developed a new benchmark, witch use a far more complex multithreaded algorithm. Multi Core PI.
The old benchmark Multi Core Prime is no longer in development. I hope you will find this benchmark more useful and will reveal more accurate performance differences between platforms.
Multi Core PI calculates PI decimals using Bailey–Borwein–Plouffe formula. The benchmark is using a multithreaded algorithm written in C++ and provide excellent parallelism. Multi Core PI is written in Visual C++ using MFC and Win32API.
http://i46.tinypic.com/rk7u49.png
How it works
A slider will help you set the decimals of PI, from 10.000 to 100.000. Default is 80.000. Just hit Run benchmark button to start benching your CPU.
Submit to HWBOT
First, press Take Screenshot button. A screenshot and a XML datafile will be created. Attention! CPUZ must be running!
Second, follow the link provided on the dialog and submit your datafile to HWBOT.
Supported operating systems
Microsoft Windows XP / Server 2003
Microsoft Windows Vista / 7
Microsoft Windows 8 / Server 2012
Download link
http://www.pcgamingxtreme.ro/