Welcome to the double Mersenne and Fermat factoring program. It is a fast GPU factoring program to find new factors

of small Fermat numbers (F26 to F223) and small double Mersenne numbers (MM31, MM61, MM89, MM107, and MM127).

It requires a **Nvidia GPU** with **compute capabilities 2.0 or higher**.

Visit http://www.fermatsearch.org to grab a range of k values for Fermat numbers.

Visit http://www.doublemersennes.org for the double Mersenne numbers.

Here is some of what you need to know:

mmff.exe is derived from mfaktc.exe. Like mfaktc.exe, mmff.exe uses a .ini file to control its behavior (mmff.ini).

You'll want to adjust GPUSievePrimes and GPUSieveSize for best performance.

Mmff.exe also uses a worktodo.txt file to control what numbers to factor.

For double-Mersennes, we tell mmff what double-Mersenne to try and factor.

For Fermat factoring, we tell mmff which factor candidates to try since a factor candidate might divide one of several Fermat numbers.
Add this line to factor a double-Mersenne number:

MMFactor=exponent,minimum-bit-level-or-k-value,maximum-bit-level-or-k-value

FermatFactor=N,minimum-k-value,maximum-k-value

Since Mersenne factors are of the form 2*k*p + 1, the k-values for double-Mersennes yield factors 2*k*M(exponent)+1.

Fermat factors are of the form k*2^{N} + 1 where k is odd.

A factor can divide any Fermat number from F_{12} up to F_{(N-2)}.

Example worktodo.txt entries:

MMFactor=127,179,180 FermatFactor=33,5460e9,5470e9

The first example looks for factors of MM127 from 2^{179} to 2^{180} (a big job that really should be split up into many k ranges.

The second example looks for any Fermat number with a factor between 5460000000000*2^{33}+1 and 5470000000000*2^{33}+1

(there is a known factor of F31 in that range).

To run the program once you've setup worktodo.txt and mmff.ini is very easy. On linux type:

./mmff.exe >> my_output_fileBe sure to check the output file or results.txt for any new factors!

Mark Rodenkirch developed a program to search for bigger Fermat and DoubleMersenne factors it's called gmp-fermat or dm and can handle values from MM521 to MM23209.

Download

mmff 0.28 executable for Windows 32-bit and 64-bit (CUDA 6).mmff 0.28 executable for CUDA 8.

mmff 0.28 source code.

gmp-fermat / dm Linux binary.

gmp-fermat / dm source.

gmp-fermat / dm Windows binary.

© MoreWare 2012