View Single Post
Old 2020-11-27, 22:51   #1
kriesel's Avatar
Mar 2017
US midwest

2×5×17×29 Posts
Default Mfactor-specific thread

This is a reference thread specific to Ernst Mayer's mfactor program. And if/when it matters, to the cpu-oriented builds of it. Please comment in the reference material discussion thread, not here. (Posts here may be incorporated with attribution, moved, or removed without recourse.)

In most cases, GIMPS trial factoring should be performed on gpus using mfaktc or mfakto, or for special purposes, special programs such as mmff on NVIDIA gpus. Mfactor comes into the picture for special cases they won't handle, such as trial factoring Mersenne numbers beyond those programs' limits.

This whole thread is a draft in progress and some posts may be mostly a placeholder at the moment or in portions.
Please note that Ernst describes this software as "experimental". Expect some rough edges.

(Getting started section to follow someday.
Choose the fewest-word build that fits the requirements of the task at hand. See the attached mfactor bits table.pdf
If building yourself, test the resulting build(s) such as by finding the small known factors of MM31.
Single threaded:
Poor man's multithreaded:
Linux multithreaded

Some Mfactor notes:
  1. The effective minimum kmax is set to 16,336,320 by the size of the small-primes sieve.
  2. NWord is limited to 64,000,000 bits exponent and factor. So it could theoretically be used on MM57885161 but not MM74207281 and up.
  3. The help output of the program is considerable. Ernst cautioned it may not be current.
  4. Savefiles are not implemented, although the program emits messages about them.
  5. It runs controlled by command line parameters. No ini files, config files, etc.
  6. It outputs to stdout and stderr. Any logging is because of redirection or tee use, on command lines, in batch files, or shell scripts.

Naming convention is as follows, for the builds posted in this thread:
Mfactor-<arch>-<x>w[-tfc][-mt], where:
<arch> is base, for any x86-64, ...
<x> is number of words, or variable if n is present;
if -tfc is present, it's the 960-pass out of 4620 classes variant, otherwise it's 16-pass out of 60 classes;
if -mt is present, it's a multithreaded build, otherwise it's single-threaded.

Table of contents for Mfactor-specific thread (this thread)
  1. Intro and table of contents (this post)
  2. 16-pass Windows builds
  3. 960-pass Windows builds
  4. Linux builds
  5. Poor-man's multithreading approximation
  6. etc
(add bug and wish list)

For more background, see and other content available from links there

Top of reference tree:
Attached Files
File Type: pdf mfactor bits table.pdf (10.9 KB, 13 views)

Last fiddled with by kriesel on 2021-01-06 at 21:25 Reason: added tee use to note 6
kriesel is online now   Reply With Quote