Operation Billion Digits

From Mersennewiki
Jump to: navigation, search

Operation Billion Digits is a whimsical project that is searching for a Billion Digit Mersenne prime. There isn't hope of really finding such a prime with today's technology and algorithms. A Lucas-Lehmer primality test is estimated to require 852 years. Perhaps much longer because many won't use modern hardware on a whimsical project; p-1, p+1, and ECM tests are also unfeasible because they require operations modulo the billion digit number. The only part of this project that can be undertaken today is trial factoring, and even that cannot be done with the efficient Prime95 program. Luigi, aka "ET_" on the mersenneforum.org boards, has written a trial factoring program that can handle these numbers. It's a sub-project of Lone Mersenne Hunters.

How to participate

Download the software

Two different programs can be used to participate: "factor" (for use on CPU's) and mfaktc (for use on GPU's).

"Factor" (currently at version 5, current and older versions available here) was written by Luigi Morelli. Luigi and other volunteers have compiled a versions for SSE2, G5 64-bit and AMD64 machines under Windows, MAC OSX, Linux and BSD environments. If you're using Windows cygwin binaries, you'll probably get a message requesting for a dll once you try to run the program for the first time. That means you need to get both cygwin1.dll and cyggmp-3.zip to make the program run.

Reserving an exponent

Then, after all is set, you can go to the official page and look for the first exponent in the left column not marked as active, post a message in the thread telling others that you reserved the exponent.

Working on the exponent

Run the client. It should prompt for your reserved exponent, the start bit and ending bit. The start bit is the one right after the exponent in the official site table, the ending bit is normally one number after the starting one. If you want to do a bigger range, just input a higher number here (be aware that adding a bit depth takes twice the time than the previous). It's recommended that you switch the priority in Task Manager (using Ctrl-Shift-Esc) from normal to low. The program will start to work and output its progress by k, d and bit depth. The k is, well, the k on 2kp+1, where p is the exponent you're searching. The d is the divisor tried and the bit depth is the percentage of the depth. If you need to turn your client off, next time start it on a command shell or by a .bat file and type factor5 -r. To make a bat file, simply create a notepad file and type shell commands. Those will be activated in relation of the folder you're in, so you can skip the path and digit "factor5 -r" without quotations in a txt file inside the client folder. After that, rename the file to a .bat extension and it should be interpreted as commands.

Reporting results

After the client is finished with the range, look at the results.txt file. It should have outputs like:

  • M(exponent) has a factor: (factor)

Congratulations! You found a factor and now have to report it on the OBD reporting thread. You should be happy about it!

  • M(exponent) no factor from 2^(startdepth) to 2^(end depth).

Well, no luck this time, but you still have to report your results at the thread.

To report results, it's better to copy the output in your results.txt exactly as it is.


OBD uses a level-based system. They're currently at Level 19.06 (around nineteen candidates to 2^85). Their greatest factor was found at bit depth 79 by Oliver, a factor of M3321928219, 670475084138875461500081.

Will Edgington maintains a list of all known Mersenne factors at http://www.garlic.com/~wedgingt/mersenne.html; whenever OBD finds a new factor, a copy is sent to him.

See also

External links