## New Pi Computation Record Using a Desktop PC 204

Posted
by
kdawson

from the more-digits-than-you dept.

from the more-digits-than-you dept.

hint3 writes

*"Fabrice Bellard has calculated Pi to about 2.7 trillion decimal digits, besting the previous record by over 120 billion digits. While the improvement may seem small, it is an outstanding achievement because only a single desktop PC, costing less than $3,000, was used — instead of a multi-million dollar supercomputer as in the previous records."*
## One thing to say (Score:5, Informative)

From the FAQ

"How does your record compares to the previous one ?

The previous Pi computation record of about 2577 billion decimal digits was published by Daisuke Takahashi on August 17th 2009. The main computation lasted 29 hours and used 640 nodes of a T2K Open Supercomputer (Appro Xtreme-X3 Server). Each node contains 4 Opteron Quad Core CPUs at 2.3 GHz, giving a peak processing power of 94.2 Tflops (trillion floating point operations per second).

My computation used a single Core i7 Quad Core CPU at 2.93 GHz giving a peak processing power of 46.9 Gflops. So the supercomputer is about 2000 times faster than my computer. However, my computation lasted 116 days, which is 96 times slower than the supercomputer for about the same number of digits. So my computation is roughly 20 times more efficient. It can be explained by the following facts:

* The Pi computation is I/O bound, so it needs very high communication speed between the nodes on a parallel supercomputer. So the full power of the supercomputer cannot really be used.

* The algorithm I used (Chudnovsky series evaluated using the binary splitting algorithm) is asymptotically slower than the Arithmetic-Geometric Mean algorithm used by Daisuke Takahashi, but it makes a more efficient use of the various CPU caches, so in practice it can be faster. Moreover, some mathematical tricks were used to speed up the binary splitting. " ( http://bellard.org/pi/pi2700e9/faq.html [bellard.org] )

Mathematical and Programming Ownage.

## this guy has a pretty impressive track record (Score:5, Informative)

For those not previously familiar with Fabrice Bellard, he's known for:

## Specs from the PC in question (Score:4, Informative)

He will be releasing the program he created for Windows (64bit only) and Linux

## Re:silly (Score:5, Informative)

As he points out himself, he doesn't really care about calculating digits of Pi; it's a convenient hook on which to hang an interesting algorithms challenge. From the FAQ:

He also mentions elsewhere that of his code, "The most important part is an arbitrary-precision arithmetic library able to manipulate huge numbers stored on hard disks."

## Re:So... umm... (Score:4, Informative)

He mentions in the "press release" page that the most important thing developed in his code is "an arbitrary-precision arithmetic library able to manipulate huge numbers stored on hard disks", which sounds basic-research-y. There's some more on that in the technical-details PDF, although unfortunately he says he doesn't plan to release the code (somewhat unusual, since most of his projects are free software).

## Re:Verification (Score:4, Informative)

In TFA (especially the PDF), the verification method is to use another algorithm to check the output. The PDF on Fabrice's home page goes into more details.

NOTE: The machine they were using to generate the second result broke, so they used another (3rd) algorithm to generate the last digits.

## Re:this guy has a pretty impressive track record (Score:5, Informative)

He also wrote the Obfuscated Tiny C Compiler (http://bellard.org/otcc/) in 2002 for the Obfuscated C contest, where otcc could compile itself. This became the Tiny C Compiler (TCC) which was picked up by Robert Landley (but subsequently dropped a while later) that is a capable, fast C90/C99 compiler.

His projects page (http://bellard.org/) and the older projects (http://bellard.org/projects.html) contain a lot of interesting projects.

Also of note: Fabrice achieved the record for Pi computation in 1997 as well:

http://bellard.org/pi/pi_hexa.html [bellard.org]

http://bellard.org/pi-challenge/announce220997.html [bellard.org]

http://bellard.org/pi/ [bellard.org]

## Re:So.... (Score:2, Informative)

Read... The... Fine... (wait for it) Article!

Spoiler alert!

He developed a highly efficient library for arbitrary precision floating-point number calculations, capable of having a desktop machine best a supercomputer. Now go change your signature to "For lack of a better question..." ;-)

## Re:silly (Score:5, Informative)

What about this [arxiv.org]?

## Re:Specs from the PC in question (Score:3, Informative)

PS: Not the source [bellard.org]

## Re:fabrice BELLARD (Score:1, Informative)

I read something recently on this, it's (apparently) a French convention, presumably to make it clear which name is the surname. I don't know much about it, just something I saw on the Planet Debian RSS:

http://gwolf.org/blog/internationalizing-your-local-customs [gwolf.org]

## Re:So... umm... (Score:5, Informative)

Basic research ..... you know that stuff that has no useful application now .....especially maths

Like group theory, invented in 1832 by Évariste Galois, had no really useful application until the mid 20th century ... Now quantum mechanics and so most of modern electronics uses it ....

## Re:One thing to say (Score:0, Informative)

we never really cared about the usage of "trick". What we cared about is the usage of "hide the decline". THATS the part that we want to understand, and still hasn't been explained... they just keep explaining the use of "trick".

## I calculated pi to the last digit... (Score:4, Informative)

in base pi. The answer was 10.

## Re:silly (Score:3, Informative)

What about this [arxiv.org]?

The algorithm you linked to requires cubic time in n. It hardly qualifies as "calculating the n-th decimal digit directly" given that the naive approach (calculating every single digit between 1 and n, and throwing away all but the last digit) is faster than cubic time.

The only advantage of the algorithm you linked to is that it requires constant space.