Currently there may be errors shown on top of a page, because of a missing Wiki update (PHP version and extension DPL3). |
Topics | Help • Register • News • History • How to • Sequences statistics • Template prototypes |
Difference between revisions of "Glucas"
m |
(Crandall) |
||
(One intermediate revision by the same user not shown) | |||
Line 8: | Line 8: | ||
'''Glucas''' is a program to perform the [[Lucas-Lehmer test]] for primality on [[Mersenne number]]s. It is related to [[GIMPS]] effort to search the largest primes ever found. It was written in C by Guillermo Ballester Valor and Klaus Kastents. | '''Glucas''' is a program to perform the [[Lucas-Lehmer test]] for primality on [[Mersenne number]]s. It is related to [[GIMPS]] effort to search the largest primes ever found. It was written in C by Guillermo Ballester Valor and Klaus Kastents. | ||
− | Glucas uses a library '''YEAFFT''' (Yet Another FFT) to do convolutions (big multiplications). It is a [[Fast Fourier transform]] (FFT) package based on [[Richard Crandall]]'s paper [http://www.reed.edu/physics/faculty/crandall/papers/confgt.pdf "Integer convolution via split-radix fast Galois transform"] (1999). The multiplications algorithm also uses [[Discrete Weighted Transform]] described in the paper [https://pdfs.semanticscholar.org/bb81/6028b29fb963fad51d74d363ae6c41194351.pdf "Discrete weighted transforms and large-integer arithmetic"] (1994) by R. Crandall and B. Fagin. The library is coded in C with some assembler macros for the gcc compiler. | + | Glucas uses a library '''YEAFFT''' (Yet Another FFT) to do convolutions (big multiplications). It is a [[Fast Fourier transform]] (FFT) package based on [[Richard E. Crandall]]'s paper [http://www.reed.edu/physics/faculty/crandall/papers/confgt.pdf "Integer convolution via split-radix fast Galois transform"] (1999). The multiplications algorithm also uses [[Discrete Weighted Transform]] described in the paper [https://pdfs.semanticscholar.org/bb81/6028b29fb963fad51d74d363ae6c41194351.pdf "Discrete weighted transforms and large-integer arithmetic"] (1994) by R. Crandall and B. Fagin. The library is coded in C with some assembler macros for the gcc compiler. |
Unlike Pime95, which was built for x86 architecture, Glucas could run on x86 (Pentium I/II/III, Athlon), Alpha (Alpha 21264), PowerPC (G3/G4) and Intel Itanium architectures. [http://glucas.sourceforge.net/oldbin.html] | Unlike Pime95, which was built for x86 architecture, Glucas could run on x86 (Pentium I/II/III, Athlon), Alpha (Alpha 21264), PowerPC (G3/G4) and Intel Itanium architectures. [http://glucas.sourceforge.net/oldbin.html] | ||
− | According to the documentation, as of June 2002, Glucas performed at about 80% speed of [[George Woltman]]'s [[Prime95]] v.20. Since then, however, [[Prime95]] was massively optimized for SSE2, AVX, AVX2, FMA3 | + | According to the documentation, as of June 2002, Glucas performed at about 80% speed of [[George Woltman]]'s [[Prime95]] v.20. Since then, however, [[Prime95]] was massively optimized for SSE2, [[Advanced Vector Extensions|AVX, AVX2, AVX512]] and FMA3 instruction sets, and, as of April 2018, it outperforms Glucas on a machine with AVX2 instructions by a factor of 5. |
Glucas was used to verify [[M41]], [[M43]], [[M46]] and [[M47]] primes at the times of their discovery. | Glucas was used to verify [[M41]], [[M43]], [[M46]] and [[M47]] primes at the times of their discovery. |
Latest revision as of 07:06, 17 October 2024
Workload type | LL |
First release | April 2000 |
Latest version | 2.9.0 06-07-2002 |
Glucas is a program to perform the Lucas-Lehmer test for primality on Mersenne numbers. It is related to GIMPS effort to search the largest primes ever found. It was written in C by Guillermo Ballester Valor and Klaus Kastents.
Glucas uses a library YEAFFT (Yet Another FFT) to do convolutions (big multiplications). It is a Fast Fourier transform (FFT) package based on Richard E. Crandall's paper "Integer convolution via split-radix fast Galois transform" (1999). The multiplications algorithm also uses Discrete Weighted Transform described in the paper "Discrete weighted transforms and large-integer arithmetic" (1994) by R. Crandall and B. Fagin. The library is coded in C with some assembler macros for the gcc compiler.
Unlike Pime95, which was built for x86 architecture, Glucas could run on x86 (Pentium I/II/III, Athlon), Alpha (Alpha 21264), PowerPC (G3/G4) and Intel Itanium architectures. [1]
According to the documentation, as of June 2002, Glucas performed at about 80% speed of George Woltman's Prime95 v.20. Since then, however, Prime95 was massively optimized for SSE2, AVX, AVX2, AVX512 and FMA3 instruction sets, and, as of April 2018, it outperforms Glucas on a machine with AVX2 instructions by a factor of 5.
Glucas was used to verify M41, M43, M46 and M47 primes at the times of their discovery.
It is distributed under GPL license.
Running Glucas
Building
Compiling Glucas from source (Linux assumed):
./configure make
To customize Glucas behavior, you can edit file glucas.ini
.
Integrity check
After building Glucas, it's advised to run the selftest:
./Glucas -s all
Passing all 31 tests will take a few minutes on a modern desktop x86 CPU.
Testing
The program can be run by placing exponents into file glucas.que
. For example, to test M35, this line should be added:
1398269
After launching ./Glucas
executable it will save text output to file glucas.out
occasionally saving checkpoints to file t<EXPONENT>
(in this case t1398269
).
Alternatively, exponent can be provided as a command line parameter:
./Glucas 1398269
There must be no file with the name 1398269
however.
Links
- Source code and executables at SourceForge.net
- Glucas documentation