AutoPrimeNet: The Ultimate PrimeNet assignment handler program

Prime95 has built-in automated assignment handling. This tool brings the same ease-of-use to all GIMPS programs (GpuOwl, Mlucas, mfaktc/mfakto, etc)!
See the full Quick Start Guide for more details about the setup prompts and what to enter.

Windows Users
  1. Download the .exe version (64-bit or 32-bit), unzip to where you have your GIMPS program (e.g. mfaktc or GpuOwl).
  2. Run autoprimenet.exe (from Windows Terminal if possible, or just double-click if you're not comfortable with command-line programs) and go through the setup wizard.
    If you're not sure about any settings, see Quick Start Guide for more details, or just hit <enter>⏎ to accept the default value.
  3. Once the setup wizard is complete, the window will close, double-click autoprimenet.exe again and it will start up in monitoring mode and fetch work and submit results every hour.
  4. Start up your GIMPS program (mfaktc, GpuOwl, etc).

Linux/macOS Users
  1. Download autoprimenet.py (right-click save-as, or wget)
  2. Run python3 autoprimenet.py --setup to run the setup wizard.
  3. Once the setup wizard is complete run python3 autoprimenet.py and it will start up in monitoring mode and fetch work and submit results every hour.
  4. Start up your GIMPS program (mfaktc, GpuOwl, etc).

About AutoPrimeNet

Prime95 has built-in assignment handling using the PrimeNet v5 API. Users should use the PrimeNet API when it is available for their GIMPS software instead of the legacy manual testing/assignment pages. Using the PrimeNet API provides many advantages for users, including:

An automated assignment handler program that uses the PrimeNet API is also available for all other GIMPS software, including Mlucas, GpuOwl, CUDALucas, mfaktc and mfakto. (⚠️ Note that PRPLL is not ready for production use and is not (yet) fully supported.) It was written by Teal Dulcet, with contributions from Daniel Connelly (CUDALucas) and Tyler Busby (mfaktc/mfakto) and adapted from an older script for Mlucas by Loïc Le Loarer and Ernst W. Mayer. As with Prime95, this program will automatically get and register assignments, report assignment progress and results, upload proof files to and download certification starting values from the PrimeNet server. It additionally can get assignments and report results to mersenne.ca for exponents above the PrimeNet limit of 1G. It supports Windows, macOS and Linux. Below are some basic instructions to download and setup the program:

Download

Windows Users

Windows users on x86 systems can click one of these links to download a standalone executable that packages the latest versions of Python, the Requests library and the program. Note that the latest version of Python currently requires Windows 8.1+. Standalone executables using Python 3.8 that support Windows Vista, 7 and 8 are also provided, while ones with older versions of Python are available upon request. It is recommended that users on Windows 10+ use the Windows Terminal to run both the GIMPS software and AutoPrimeNet. (Users on older versions of Windows would need to use the Windows PowerShell or Command Prompt.) Click this link for how to determine if you are running a 32 or 64 bit version of Windows.

Just extract the ZIP file and save the autoprimenet.exe executable to the same directory as your GIMPS software. Then, open the terminal in this directory and run: autoprimenet --help to verify that everything works. Lastly, skip down to the Setup section below and be sure to use “autoprimenet” instead of “python3 autoprimenet.py” in those commands.

Linux/macOS Users

All other users should follow these three steps to install Python and download the program:

  1. Install Python: macOS and Linux should already include Python. Windows users can download an installer from python.org. The program supports both Python 2 and 3, but if possible, users are strongly encouraged to use one of the last five Python 3 minor versions that still receive updates.
  2. Install the Requests library: Most Python installations should already include the Requests library. AutoPrimeNet will automatically prompt on first run to install it if needed, but it can be typically be installed by running: pip3 install requests or python3 -m pip install requests. Some recent Python installations may require first setting up a virtual environment. (Users using an older version of Python may need to install a corresponding older version of the library.)
  3. Download the program: Right-click this link and select “Save link as…” to download the latest version of the program from the mersenne.ca mirror. Just save the autoprimenet.py file to the same directory as your GIMPS software. Then, open the terminal in this directory and run: python3 autoprimenet.py --help to verify that everything works. Windows users may need to use the py launcher instead of python3.

The program uses some Unicode characters to improve the output, so if you encounter a UnicodeEncodeError exception, you may need to set a PYTHONIOENCODING=utf-8 environment variable before running the program.

Setup

  1. Register your system with PrimeNet:
    Recommended Just run this command for the program to automatically prompt for all the needed options:
    python3 autoprimenet.py --setup
    Alternatively - Command line options (click to show) Run the below command using the command line options. See the -h/--help output above for the full list of available options and the respective default values. Users will need to add the option for the respective GIMPS software they are using, so -m/--mlucas for Mlucas, -g/--gpuowl for GpuOwl, --cudalucas for CUDALucas, --mfaktc for mfaktc or --mfakto for mfakto. It saves its configuration to a “prime.ini” file by default, so it is only necessary to give these options the first time it is run.
    python3 autoprimenet.py --timeout 0 --username <PrimeNet User ID> [--hostname <computer name>] [--workpref <work preference>] [--num-workers <num>]
    Supported work preferences (click to show) 2 - Trial factoring
    4 - P-1 factoring
    12 - Trial factoring GPU
    100 - First time LL tests
    101 - Double-check LL tests
    102 - World record LL tests
    104 - 100 million digit LL tests
    106 - Double-check LL tests with zero shift count,
    150 - First time PRP tests
    151 - Double-check PRP tests
    152 - World record PRP tests
    153 - 100 million digit PRP tests
    154 - Smallest available first time PRP that needs P-1 factoring
    155 - Double-check using PRP with proof
    156 - Double-check using PRP with proof and nonzero shift count
    160 - First time PRP on Mersenne cofactors
    161 - Double-check PRP on Mersenne cofactors


    Worktype Mlucas GpuOwl PRPLL CUDALucas CUDAPm1 mfaktc/mfakto
    4
    12
    100 ✔*
    101
    102 ✔*
    104 ✔*
    106 ✔*
    150
    151
    152
    153
    154 ✔*
    155
    156
    160
    161
    * Some previous versions of GpuOwl

    For example, for GpuOwl: python3 autoprimenet.py --timeout 0 --username ANONYMOUS --hostname example --workpref 150 --gpuowl

    (or equivalently using the short options: python3 autoprimenet.py -t 0 -u ANONYMOUS -H example -T 150 -g)
  2. Start the program: Run the below command each time you want to start the program. If you have more than one worker, add the -D/--dir option for each worker directory. Advanced/power users may want to add the -d/--debug option for more verbose output.
    python3 -OO autoprimenet.py [--timeout <update frequency (sec)>] [--checkin <checkin frequency (hours)>] [--dir <directory>]...
    For example, for GpuOwl (with the default 1 hour update and checkin frequency): python3 -OO autoprimenet.py

For more information about this program/script and for support, please see the dedicated thread on the forum (may require a sign in). Note that there are many other older programs/scripts that may be bundled with the download for your GIMPS software and appear similar to this program, but they are just simple wrappers around the legacy manual testing/assignment pages and do not actually use the PrimeNet API. If the script/program requires you to provide your GIMPS password, it is not using the PrimeNet API and therefore does not provide most of the benefits listed above.