(Last updated: March 7, 2011)
Main Page: y-cruncher - A Multi-Threaded Pi-Program
y-cruncher is a number-crunching program that can compute trillions of digits Pi and other mathematical constants.
It can compute the following constants:
- Square Root of a small integer
- The Golden Ratio
- Zeta(3) - Apery's Constant
- Catalan's Constant
- The Euler-Mascheroni Constant
As of May 2010, y-cruncher holds the world record for the most digits ever computed of several of these constants.
- Benchmark Validation: for competitive benchmarking and overclocking.
- Stress Testing: for overclocking and computer enthusiasts.
- Multi-threading: to utilize multi-core processors.
- Disk Management: to enable large computations that would otherwise not be possible in ram.
- Multi-Hard Drive: to enable the use to multiple hard drives to improve the efficiency of disk computations.
- Fault-Tolerance: to enable the program to detect and correct for minor computation errors that may result from unstable hardware.
See main page.
This is the stand-alone digit viewer that can view digits in both .txt and in compressed .ycd format.
This program is already built into y-cruncher itself, but is also available separately for download.
Digit Viewer 1.1 (fix 1).exe (299 KB)
Partial Source Code:
Digit Viewer Source.zip (14 KB)
Pi - Dec - Chudnovsky.ycd (494 KB) - This is the .ycd file that is used as an example in the documentation on how to use the API.
This is the source code for the digit viewer with only the digit viewing features.
The compression and decompression features have too many dependencies on y-cruncher to be easily separated out and have been omitted.
The source code here exposes the API that is used to access the compressed digits in the .ycd files. Feel free to use this API for whatever purpose you feel.
I've been intending to document the exact compression format that the .ycd files use (so that others can build their own software around it).
But I've been very lazy with that and have been putting it off for over a year. I may do that if it the source code here isn't clear enough.
y-cruncher BBP is a miniature side-project to y-cruncher - Multi-Threaded Pi-Program.
It was written back in April 2010 for the purpose of verifying the world record of 5 trillion digits of Pi (August 2010).
As its name suggests it implements the BBP digit-extraction algorithm for computing binary and hexadecimal digits of Pi.
This program is perfectly threaded and is bound only by CPU power. Therefore, it should scale linearly with multi-core. (barring the effects of Turbo Boost and similar technologies)
Although the primary focus of y-cruncher BBP is performance, it is not nearly as well optimized as y-cruncher itself. Nevertherless, the speed of y-cruncher BBP is still sufficient for its original purpose.
y-cruncher BBP v1.0.0 Build 119.zip (241 KB)
Binaries: (Note that only x64 is supported.)
- Windows - x64 SSE2
- Windows - x64 SSE4.1
Note that you may need to install the following update to run the program:
Microsoft C++ 2008 Redistributable Package (x64)
Benchmarks: (version 1.0.0 Build 119)
Hexadecimal Place 32 digits ending with the target
Intel Pentium D @ 2.8 GHz Intel Core i7 @ 3.5 GHz 2 x Intel Xeon X5482 @ 3.2 GHz Plouffe Bellard Plouffe Bellard Plouffe Bellard 1,000,000 daa7f46c 59b44c28 e672c29f fd342362 0.807 s 0.584 s 0.231 s 0.160 s 0.252 s 0.205 s 10,000,000 eeead0fd af407f65 3df38ac1 a42e06a1 5.026 s 6.238 s 1.389 s 2.219 s 1.270 s 2.090 s 100,000,000 8d1ddbd2 4b8880bb dd60e49c 3939abae 50.337 s 36.766 s 5.398 s 5.435 s 4.865 s 4.586 s 1,000,000,000 be7edac3 20b04aa8 2f160d4a 9a95faf8 560.836 s 389.639 s 57.906 s 40.707 s 44.101 s 31.896 s 10,000,000,000 6ff41852 fea01aa8 9477e4d7 bcd81df9 6097.31 s 4276.40 s 635.582 s 445.491 s 473.218 s 332.674 s 100,000,000,000 b55bd1c7 775ffe3d c62467c3 ad8fd53c 18.50 hours 12.95 hours 1.928 hours 1.346 hours 1.421 hours 0.995 hours 1,000,000,000,000 6954e5e3 0b5124a9 ea02a93f 89341cd5 20.82 hours 14.58 hours 15.32 hours 10.61 hours
Since there are very few precompiled Pi digit-extraction programs available online, little can be said about how efficient it is in comparison to similar programs written by others.
y-cruncher BBP is written in C++ with SSE intrinsics and OpenMP.
For now, it is closed sourced. But I may open-source it in the future.
For what the program does, y-cruncher BBP is relatively short (single file with ~1,500 lines). Furthermore, it is completely self-contained and has no dependencies on y-cruncher or its libraries. Therefore, it is something that I may open-source in the future.
Contact me via e-mail. I'm pretty good with responding unless it gets caught in my school's junk mail filter.