LINKS
CONTACTS



 
Downloads.

 
 

The following is a table showing the programs used for the search of Fermat number factors.
You see the name of the program, the type of the program, the owner ID as it appears on the factors page
and the full name of the writer of the program.


 
 
Program name version Type gfn Cuda CL Windows Linux MAC OSX source owner id owner name
AthGFN64 B306 Siever y n n AthGFN64Underbakke, Gallot, CarmodyDavid Underbakke, Yves Gallot, Phil Carmody
Fermat 4.4Sieve+trial division n n n Fermat Durman Leonid Durman
FermFact 2.0 Siever n n n FermFact Fougeron Jim Fougeron
Feromant 2.016Sieve+trial division n n n Feromant Maznichenko Roman Maznichenko
Feromant_CUDA 2.016Sieve+trial division n y n Feromant_CUDA MaznichenkoRoman Maznichenko
GeneFer 1.3 - 2.2.0 Primality tester y n n GeneFer GeneFer GeneFer GeneFer Gallot, RodenkirchYves Gallot, Mark Rodenkirch
GMP-ECM 7.0.4 Factorizer n n n GMP-ECM GMP-ECM GMP-ECM Zimmermann Paul Zimmermann
GMP-Fermat 2.5Sieve+trial division n n n GMP-Fermat GMP-Fermat Rodenkirch Mark Rodenkirch
GPU-ECM 7.0.4 Factorizer n y n GPU-ECM GPU-ECM Zimmerman Paul Zimmermann
LLR 3.8.17 Primality tester n n n LLR LLR LLR LLR Penné Jean Penné
mmff 0.28Sieve+trial division n y n mmff mmff Woltman George Woltman
NewPGen 2.82 Siever n n n NewPGen NewPGen Jobling Paul Jobling
pfgw3.7.10L 3.8.1M 3.8.3W Primality tester y n n pfgw pfgw pfgw Rodenkirch, WoltmanMark Rodenkirch, George Woltman
pmfs 3.0Sieve+trial division n n n pmfs Gostin Gary Gostin
ppSieve 0.3.10d Siever n n n ppSieve ppSieve ppSieve Brazier Ken Brazier
ppSieve_CL 0.2.5c Siever n n y ppSieve_CL ppSieve_CL ppSieve_CL Brazier Ken Brazier
ppSieve_CUDA 0.2.5c Siever n y n ppSieve_CUDA ppSieve_CUDA ppSieve_CUDA Brazier Ken Brazier
Prime95 28.10 Primality tester n n n Prime95 Prime95 Prime95 Prime95 Woltman George Woltman
Proth n/a Primality tester n n n Gallot Yves Gallot
PRP Primality tester n n n Woltman George Woltman
SrSieve Siever n n n Reynolds Geoffrey Reynolds

Programs description

AthGFN64 - Siever - Version B206 released by David Underbakke on November 21, 2011.
Optimized assembly routines for Athlons, SSE2 registers
The logic is:


Source page here.

---

Fermat - Sieve + trial division - Version 4.4 released by Leonid Durman on 2004.
Optimized assembly routines for multiplications under 95 bits
The logic is:


Source page here.

---

FermFact - Siever - Version 2.0 released by Jim Fougeron on November 4th 2003.
Optimized assembly routines, SSE2 registers

This program will sieve multiple k*2^n+1 ranges, similar to NewPGen, but it does it all at one time, and stores a single output file which is sorted by the smallest k to the largest k for the whole range. The file can be run directly by PFGW or PRP. This method allows a significant speed up for Fermat factor searches. Now efficient trial division can be done over a large range of n's (the maximum limit of n's is 20000) while sieving a set of the smallest untested k's, while still obtaining much of the "gain" you get when using NewPGen. A good "working set" is 1000 n's and 5000 k's That is 5 million unfactored candidates, which allows the sieve to find lots of factors, even when the trial factor primes get to be rather large. To exit the program, saving the results, hit the ESC key. The program also automatically saves its files every hour, in case of a power outage or crash.

Source page here.

---

Feromant / Feromant_CUDA - Sieve + trial division - Version 2.016 released by Roman Maznichenko on 2016.
Optimized assembly routines for Montgomery multiplication - CUDA parallelization

The program uses a thread to sieve the candidates and a CUDA multiprocessor environment to evaluate multiple residual classes in parallel.

Source page none.

---

GeneFer80 - GeneFer64 - Primality tester - Version 1.3 - 2.2.0 released by Yves Gallot, David Underbakke, Mark Rodenkirch on 2011.
Optimized assembly routines, SSE2 registers.


Source page here.

---

GMP-ECM and GPU-ECM - ECM factorization - Version 7.0.3 released by Paul Zimmermann and others on October 11th 2016.
GMP library optimizations, assembly routines, SSE2, XMM and AVX speedups and CUDA parallelization

Elliptic Curve Method for Integer Factorization.

Source page here.

---

GMP-Fermat - Sieve + trial division - Version 2.5 released by Mark Rodenkirch on September 23th 2016.
GMP library optimizations, assembly routines, Montgomery exponentation and multiplication

The logic is:


Source page none.

---

LLR - Primality tester - Version 3.8.17 released by Jeaan Penné on February 11th 2016.
Assembly routines, FFT multiplication

A program to prove primality of candidates sieved using external sievers.

Source page none.

---

mmff - Sieve + trial division - Version 0.28 released by George Woltman on June 26th 2014.
Optimized assembly routines for Montgomery-Barrett multiplication - CUDA parallelization

The program uses a CUDA multiprocessor environment to sieve and evaluate multiple residual classes in parallel.

Source page none.

---

mmf-gfn - Sieve + trial division - Version 0.28 released by George Woltman and Serge Batalov on July 10th 2014.
Optimized assembly routines for Montgomery-Barrett multiplication - CUDA parallelization

The program uses a CUDA multiprocessor environment to sieve and evaluate multiple residual classes in parallel.
This code is specialised on gfn search only

Source page none.

---

NewPGen - Siever - Version 2.82 released by Paul Jobling (assembly magic by Yves Gallot) on January 12th 2003.
Optimized assembly routines for Montgomery multiplication - SSE2 registers

NewPGen generates input files for Proth, PFGW, or PRP. Proth performs primality tests for numbers of the form k.b^n+1 and k.b^n-1; PRP performs very rapid pseudo-primality tests for these numbers; PFGW performs primality tests for more general forms.
Most of NewPGen's sieves require n to be fixed, since if this is the case then you can very quickly sieve a large number of k values in parallel.
NewPGen can be used to generate a file from scratch, or to continue sieving a previously generated file. To create a new file, enter the value of b to be used (the base), the value of n, and the first and last k values to use (kmin and kmax). Then select the type of sieving that you wish to perform on these numbers.
When generating a new file, NewPGen uses a bitmap to store the k values. By default, 47.7 Mb of RAM is used for the bitmap, though this can be controlled from the Options menu. If the range of k that you specify is too large to fit into the bitmap, NewPGen will break up the range into a number of smaller ranges, each of which fits into the bitmap, and will then sieve each of these in turn up to p=1 billion. Once it has done this, it will combine the results together and sieve them as normal.
NewPGen is much faster if the base is 2. This is because division by 2 modulo a prime is easy (you shift it right if it is even, otherwise you add the prime then shift it). Division by other bases isn't so straightforward, however.
NewPGen is happy with lots of k's to sieve - there is nothing to be gained by dividing a range of k's up and sieving each subrange in turn. NewPGen will do this for you anyway, as was mentioned above.The value of n doesn't matter too much to NewPGen either.

Source page none.

---

pfgw - Primality tester - Version 3.8.1 released by Mark Rodenkirch and George Woltman on June 3rd 2016.
Optimized assembly routines for Montgomery-Barrett and FFT multiplication - gwnum library

Fast program to test primality for Fermat and GFN factors.
Best suited for testing of N values from 6,000 up.

Source page none.

---

pmfs - Sieve + trial division - Version 3.0 released by Gary Gostin on November 30th 2016.
All multi-precision arithmetic is performed using the GMP library, including squaring using mpz_mul
which dynamically selects between several algorithms including Karatsuba, Toom and FFT multiplication.
Calculating r^2 mod (k * 2^n + 1) is performed by dividing (r^2 / 2^n) by k followed by several shift and add/sub operations.

Pmfs is multi-threaded, enabling all processor cores in a system to be used on a single range of N and K.
Performance scaling is nearly linear with the number cores used.

The download file includes the pmfs 3.0 Linux binary, example input and output files, documentation and a benchmarking results spreadsheet.

Source page none.

---

ppsieve/cuda/opencl - Siever - Version 0.2.5c/0.3.10d released by Ken Brazier on 2011.
Optimized assembly routines for Montgomery-Barrett multiplication and multiplicative inverse - CUDA parallelization

Sieves for factors of numbers of the form K*2^N + or - 1. Independent of K's, but good for many N's too.

Source page here.

---

prime95 - ECM factorization - Version 28.10 released by George Woltman on March 30th 2016.
Optimized assembly routines for Montgomery-Barrett and FFT multiplication - gwnum library

The program is used for its fast ECM stage1 implementaton.

Source page here.

---

Copyright © MoreWare 2003 ...