GLUCAS - Yet Another FFT

Spanish Introduction



Project status (sourceforge)

Downloads (old 2.9.0 version)

Latests tarballs (2.9.2 version)

Browse subversion repository

Even old Binaries

Documentation on line


Glucas is a free program to test primality of Mersenne numbers (numbers with the form 2^n - 1). Its results say us whether a Mersenne number is a prime number. You can learn a lot of Mersenne numbers here . The special form of Mersenne Numbers gives us three big advantages:

1) There is a fast test (Lucas-Lehemer test.). If success then we are sure the analyzed number is a Prime number. If fails then we are sure the number is not prime.

2) The modular reduction we need can be made in a easy way.

3) The algorithm used to multiply the very big numbers we usually need (about some million bits) uses a special form of Fast Fourier Transform, DWT. The speed are twice the general integer multiplication via FFT and convolution theorem.

These advantages make the records list of big prime numbers leaded by Mersenne Primes. You can be a discoverer of a record Mersenne Prime number. But don't be excited, it is very hard. There is a project in the Internet dedicated to the search of such scarce numbers. This is GIMPS, the Great Internet Mersenne Prime Search . GIMPS already has found the four biggest primes in the history and is one of the pioneers in the distributed computing in the net. The core of this project is G. Woltman, who wrote the client programs for x86 platforms. They are astonishing fast and I personally think is the fastest FFT ever written to these processors. They are carefully tuned in assembler.

Glucas is a c-coded program to make Lucas-Lehmer test. As I have old Pentiums at home and work, I also included some assembler macros for GNU/gcc compiler to speed it up. I've reached about 80% of Woltman's latest prime95 v.20. For other platforms there is only two clients available fast enough, Glucas and Mlucas. Mlucas is an excellent fortran90-coded program written by E.W. Mayer (a version of Mlucas is included in the test suite specf2000). The performance of Mlucas is similar to Glucas. Mlucas needs a good f90 compiler and Glucas a C-compiler. For some platforms as Mac, there is no f90 compilers available, and here is the advantage of Glucas.

You can read more about Glucas. The complete manual online is here. You also can get the documentation package which includes the html docs, and printable dvi and PDF manuals. 

YEAFFT is the library used by Glucas to make the convolutions (big multiplications) we need. This is written by Guillermo Ballester Valor (me) and the skeleton is based in this paper. This is a C-coded library with some assembler macros for GNU/gcc compiler. It is written under GPL license.

UPDATE: Because of some dificulties in Sourceforge, I'm partialy migrating the project to my local server. The actual version is 2.9.2. You can download the latest snapshots here .

In adition to sourceforge CVS access to Glucas's reporitory, you also can get anonymous access to a Subversion type repository. To checkout the repository:

svn co

To update:

svn update

Active directory in repository is 'glucas/trunk/glucas'

You also can browse the repository
UPDATED: Mar-04-2012