The search for Mersenne primes has been going on for many
centuries. In 1644 Marin Mersenne helped the search gain
wide recognition by writing to many mathematicians of his
conjecture about which small exponents yield primes. About
the same time Mersenne's conjecture was settled in 1947,
digital computers gave a new impetus to the search for
Mersenne primes. As time went on, larger and larger
computers found many more Mersennes. For a while
the search for Mersennes belonged exclusively to
those with the fastest computers.
In late 1995 this changed. George Woltman began the Great Internet Mersenne Prime Search (or GIMPS) by providing a database of what exponents had been checked, an efficient program for Windows machines which could check these numbers, and a way of reserving exponents to minimize the duplication of effort. Now thousands of individuals could work together using desktop PC's.
The database was the extension of work done by many others, for the first time available to all immediately over the Internet. It combined the work of others such as Guy Haworth, Walter Colquit, Steve McGrogan, and Luther Welsh. It also stores the Lucas-Lehmer residues, so a second program can be used to verify the accuracy of the database.
The program written by Woltman was a very efficient implementation of the Lucas-Lehmer test using the FFT, with the time critical parts written in highly optimized assembly language. The GIMPS project now provides software for most platforms. The original method of reserving exponents (via email with Woltman) has evolved into an automated process via PrimeNet (written by Scott Kurowski in 1997).
GIMPS now shares the combined efforts of dozens of experts and thousands of amateurs. This coordination has yielded several important results, including finding the Mersennes M3021377and M2976221 and showing that M756839, M859433 and M3021377 are the 32nd, 33rd, and 34th Mersennes.
Luther Welsh first proposed the name GGIMPS (George's Great Internet...); soon thereafter George removed the first G to give the project its current name.
Related pages (outside of this work)