Multicore Pi benchmark

Edgemeal

Senior member
Dec 8, 2007
211
57
101
Anyone run this Multicore Pi benchmark?

Benchmark calculates PI using a multithreaded parallel algorithm written in C++.
PI is calculated with 80.000 decimals using Bailey–Borwein–Plouffe formula.


Download Multicore Pi benchmark

Note: I am no longer keeping track of posted score! see Idontcare's reply here.

Time: Lower = Better
Code:
[B]
   Name             Time     CPU      CPU MHz  NB MHz  Ram MHz  Timings          ScreenShot[/B]
01 [URL="http://forums.anandtech.com/showpost.php?p=34536508&postcount=35"]moonbogg[/URL]          24.855  3930K    4300.05       -   800.1   9-9-9-24-128-2T  [URL="http://i178.photobucket.com/albums/w270/artilary6/MULTI-PIE.jpg"]01[/URL]
02 [URL="http://forums.anandtech.com/showpost.php?p=34535882&postcount=13"]Ferzerp[/URL]           27.863  3770K    4444.44       -   933.4   9-10-9-27-2T     [URL="http://i.imgur.com/rhKojzO.png"]02[/URL]
03 [URL="http://forums.anandtech.com/showpost.php?p=34536517&postcount=36"]GTRagnarok[/URL]        33.138  3720QM   3800.00       -   798.6   9-9-9-28-2T      [URL="http://i.imgur.com/rRSuLAd.png"]03[/URL]
04 [URL="http://forums.anandtech.com/showpost.php?p=34535860&postcount=11"]dma0991[/URL]           37.117  3570K    4700.09       -   933.3   9-9-9-24-1T      [URL="http://i.imgur.com/ZvU16Qf.png"]04[/URL]
05 [URL="http://forums.anandtech.com/showpost.php?p=34535931&postcount=16"]Vectronic[/URL]         40.682  3570K    4500.18       -  1000.1   10-10-10-26-1T   [URL="http://i.imgur.com/BbPKt1t.png"]05[/URL]
06 [URL="http://forums.anandtech.com/showpost.php?p=34537521&postcount=43"]Sable[/URL]             40.789  2500K    4700.23       -   800.1   9-9-9-24-2T      [URL="http://i50.tinypic.com/2pzl4l3.jpg"]06[/URL]
07 [URL="http://forums.anandtech.com/showpost.php?p=34535444&postcount=1"]Edgemeal[/URL]          42.591  3570K    4021.25       -   670.2   9-9-9-24-1T      [URL="http://img341.imageshack.us/img341/9931/multicorepi3570k4ghz.png"]07[/URL]
08 [URL="http://forums.anandtech.com/showpost.php?p=34536142&postcount=24"]crashtech[/URL]         48.001  E5420    3000.08       -   320.0   5-5-5-15-20      [URL="http://i47.tinypic.com/1zfh8hg.jpg"]08[/URL]
09 [URL="http://forums.anandtech.com/showpost.php?p=34536830&postcount=40"]SPBHM[/URL]             72.428  i3-2100  3093.50       -   665.3   9-9-9-24-1T      [URL="http://i45.tinypic.com/2yw8rbk.jpg"]09[/URL]
10 [URL="http://forums.anandtech.com/showpost.php?p=34536346&postcount=33"]TakeNoPrisoners[/URL]   77.886  X4 955   3817.62       -       -   -                [URL="http://i.imgur.com/uBkAZ7T.png"]10[/URL]
11 [URL="http://forums.anandtech.com/showpost.php?p=34535756&postcount=5"]Durvelle27[/URL]        85.587  FX-4100  4615.77  2408.2   669.0   9-9-9-24-34      [URL="http://img46.imageshack.us/img46/8913/multicorepi.jpg"]11[/URL]
.
 
Last edited:

Enigmoid

Platinum Member
Sep 27, 2012
2,907
31
91
I get 37 seconds with a i7 3630qm.

pibenchmarkbest.png


Mobile cpus are powerful.
 

Vectronic

Senior member
Jan 9, 2013
489
0
0
I'm skeptical of the use of this... right now I have 180MHz more (also 3570K), my RAM is about 20% "faster" (1800, same timings as yours)... 0.001 seconds quicker than your result.

But I'll do a full test later.
 

Ferzerp

Diamond Member
Oct 12, 1999
6,438
107
106
i7-2820QM stock, 48.744

edit: ran again and took a picture. 48.908
 
Last edited:

Durvelle27

Diamond Member
Jun 3, 2012
4,102
0
0
AMD FX-4100 @ 4600 MHz / 1600 - 9-9-9-24

multicorepi.jpg



Edit: Might run again because i have lots of apps open in the background
 

Markfw

Moderator Emeritus, Elite Member
May 16, 2002
27,397
16,238
136
When I try to execute it, I get "is not a valid win32 application"
 

Shellls

Member
Jan 23, 2013
47
0
66
Long time lurker, first time poster. This is by far the best forum for tech on the internet. Anyway, I ran it with of my A8 3850 at stock with 1333 cl9 ram. Its so slow compared to all of these i7s
 
Last edited:

dxkj

Lifer
Feb 17, 2001
11,772
2
81
hrm, not familiar with this benchmark, why does it give the wrong value for pi? from memory it is 3.1415926535897932384626450288
 

Vectronic

Senior member
Jan 9, 2013
489
0
0
Well, I was going to do more thorough tests, but during my initial attempts I realized the results aren't very accurate and vary by as much as 3 seconds.

My 4.5GHz:
BbPKt1t.png


And here is my 4.2GHz (42.757)

And my stock (3.6GHz, 51.211)

What I also noticed, is that if you leave the application running, and keep retesting... the value of PI isn't accurate.
 

Edgemeal

Senior member
Dec 8, 2007
211
57
101
Long time lurker, first time poster. This is by far the best forum for tech on the internet. Anyway, I ran it with of my A8 3850 at stock with 1333 cl9 ram. Its so slow compared to all of these i7s

Attach screen shot with,
MultiCore PI Benchmark.
CPU-Z CPU.
CPU-Z Memory.

Thanks!
 

Ferzerp

Diamond Member
Oct 12, 1999
6,438
107
106
It does not scale with MOAR CORES (more than 10 or 12). It is useless for any sort of " multi-threaded benchmark"

Westmere@ 2.4Ghz (no HT):
2 cores = 145.985
4 cores = 79.335
6 cores = 56.675
8 cores = 49.914
10 cores = 43.396
12 cores = 39.058
14 cores = 38.918
16 cores = 38.543
18 cores = 38.180
20 cores = 38.006

bLfSiYu.png


16 "cores" (8c/16t) = 41.752
20 "cores" (10c/20t) = 40.449
40 "cores" (20c/40t) = 39.445 (I suspect it only uses 32 here)

edit: Graph works out to be roughly Amdahl's law with somewhere between 50-75% efficiency.

Maybe calling it useless at it is harsh, but it is sub-optimal.
 
Last edited:

Idontcare

Elite Member
Oct 10, 1999
21,110
64
91
Well, I was going to do more thorough tests, but during my initial attempts I realized the results aren't very accurate and vary by as much as 3 seconds.

My 4.5GHz:
BbPKt1t.png


And here is my 4.2GHz (42.757)

And my stock (3.6GHz, 51.211)

What I also noticed, is that if you leave the application running, and keep retesting... the value of PI isn't accurate.

The value of PI should be deterministically computed, if you are getting a different value between runs then that would suggest your overclock isn't actually stable for the specific instructions being used by the program.

Back off on your OC and see if your results become repeatable.
 

Idontcare

Elite Member
Oct 10, 1999
21,110
64
91
Published Pi = 3.141592653589793238462643383279502884197169399375...
Multi-Core Pi = 3.141592653589793107460845588087906407656749157661...
Super Pi = 3.141592653589793238462643383279502884197169399375...

Two issues with this multi-core Pi programs - Super-Pi correctly calculates the digits of Pi, multi-core Pi does not.

And Multi-Core Pi requires 1min29s to compute 80k digits of Pi on my 2C/4T 2.3GHz i5-2410M whereas single-threaded Super Pi computes 128k digits of Pi on the same laptop in a mere 1.382s.

If you take 64 times longer to incorrectly compute fewer digits of Pi while using 4x the threads and 2x the cores...chances are high that you might be doing "multi-threading" wrong.
 

Blastman

Golden Member
Oct 21, 1999
1,758
0
76
i3-530 @ 2.93GHz … tested with HT (hyperthreading) off/on.

138.126 … … HT-off
85.985 … … .. HT-on


HT is 61% faster on dual core i3 … (138.126/85.985 = 1.61x) ... nice :)
 

Ferzerp

Diamond Member
Oct 12, 1999
6,438
107
106
Published Pi = 3.141592653589793238462643383279502884197169399375...
Multi-Core Pi = 3.141592653589793107460845588087906407656749157661...
Super Pi = 3.141592653589793238462643383279502884197169399375...

Two issues with this multi-core Pi programs - Super-Pi correctly calculates the digits of Pi, multi-core Pi does not.

And Multi-Core Pi requires 1min29s to compute 80k digits of Pi on my 2C/4T 2.3GHz i5-2410M whereas single-threaded Super Pi computes 128k digits of Pi on the same laptop in a mere 1.382s.

If you take 64 times longer to incorrectly compute fewer digits of Pi while using 4x the threads and 2x the cores...chances are high that you might be doing "multi-threading" wrong.

Why it gets the wrong value is perplexing, but the method that they have chosen *will* be slower by nature.

(see http://en.wikipedia.org/wiki/Bailey%E2%80%93Borwein%E2%80%93Plouffe_formula)

What they are doing calculates each digit independently and doesn't build on the previous digits at all. This is interesting, because I can calculate the 1Mth digit, without calculating any other digit. It's also more complex by far.

But yeah, it's also not an approximation, so the implementation is off.

Wiki has this to say:
wikipedia said:
Advantages of the BBP algorithm for computing π
This algorithm computes π without requiring custom data types having thousands or even millions of digits. The method calculates the nth digit without calculating the first n − 1 digits, and can use small, efficient data types.
The algorithm is the fastest way to compute the nth digit (or a few digits in a neighborhood of the nth), but π-computing algorithms using large data types remain faster when the goal is to compute all the digits from 1 to n.
Note that though it only produces a single digit, BBP is still linear: successively larger values of n take increasingly more time to calculate (that is, the "further out" a digit is, the longer it takes BBP to calculate it, just like the standard π-computing algorithms). It is not true that BBP can produce an arbitrary digit in constant time.

Basically, whoever wrote this has chosen one of the slowest ways to compute the first x digits of pi (but a really neat way anyway).

Now, if you want to know the 2,434,542,324,123,828th digit of pi, this is probably a faster way, but if you want to know the first 2,434,542,324,123,828 digits of pi, this is a bad way of doing it (and why it only does 80k digits)

edit: we also have a lot of variance in this thread even on the computed values.
 
Last edited: