Skip to content

🖧 Distributed Computing Scripts for GIMPS, BOINC and Folding@home

License

Notifications You must be signed in to change notification settings

tdulcet/Distributed-Computing-Scripts

Repository files navigation

Actions Status

Distributed Computing Scripts

Distributed Computing Scripts for GIMPS, BOINC and Folding@home

Copyright © 2018 Teal Dulcet and Daniel Connelly

❤️ Please visit tealdulcet.com to support these scripts and my other software development.

Great Internet Mersenne Prime Search (GIMPS)

🆕 Thanks to Google's Colaboratory (Colab) service, anyone with an internet connection can now contribute to GIMPS for 🆓, without downloading or installing anything! Please see our google-colab directory for instructions.

Prime95/MPrime

Downloads, sets up and runs Prime95/MPrime. Supports only x86 CPUs.

wget -qO - https://raw.github.com/tdulcet/Distributed-Computing-Scripts/master/mprime.sh | bash -s -- [PrimeNet User ID] [Computer name] [Type of work] [Idle time to run (mins)]

To run MPrime for Stress/Torture Testing, see the Testing and Benchmarking scripts.

CUDALucas

Downloads, builds, sets up and runs CUDALucas. Downloads, sets up and runs AutoPrimeNet for automated PrimeNet assignments.

wget -qO - https://raw.github.com/tdulcet/Distributed-Computing-Scripts/master/cudalucas.sh | bash -s -- [PrimeNet User ID] [Computer name] [Type of work] [Idle time to run (mins)]

Mlucas

Downloads, builds, sets up and runs Mlucas. Downloads, sets up and runs AutoPrimeNet for automated PrimeNet assignments. Supports x86 Intel and AMD and ARM CPUs, but only recommended for ARM CPUs, which Prime95/MPrime does not support. Prime95/MPrime is faster than Mlucas on x86 CPUs. Run: wget -qO - https://raw.github.com/tdulcet/Linux-System-Information/master/info.sh | bash -s to output your system information, including CPU and architecture. This script follows the recommended instructions on the Mlucas README for each architecture and CPU.

wget -qO - https://raw.github.com/tdulcet/Distributed-Computing-Scripts/master/mlucas.sh | bash -s -- [PrimeNet User ID] [Computer name] [Type of work] [Idle time to run (mins)]

GpuOwl

Downloads, builds, sets up and runs the latest version of GpuOwl for PRP tests, version 7.2-112 for PRP tests with combined P-1 and the v6 branch for LL and standalone P-1 tests. Downloads, sets up and runs AutoPrimeNet for automated PrimeNet assignments. Creates wrapper script to run the correct version of GpuOwl based on the next assignment. Supports Nvidia, AMD and Intel GPUs supporting OpenCL. Note that GpuOwl uses C++20 and thus requires at least the GNU C++ compiler 8. Run: g++ --version to output your version.

wget -qO - https://raw.github.com/tdulcet/Distributed-Computing-Scripts/master/gpuowl.sh | bash -s -- [PrimeNet User ID] [Computer name] [Type of work] [Idle time to run (mins)]

PrimeNet

AutoPrimeNet (the Python PrimeNet program) was moved to a separate repository.

Organizations

For installing on multiple computers to a shared or network directory. Developed for use by the PSU Computer Science Graduate Student Organization. Also used by our Google Colab Jupyter Notebooks.

Prime95/MPrime

wget -qO - https://raw.github.com/tdulcet/Distributed-Computing-Scripts/master/mprime2.sh | bash -s -- <Computer number> [PrimeNet User ID] [Computer name] [Type of work] [Idle time to run]

CUDALucas

wget -qO - https://raw.github.com/tdulcet/Distributed-Computing-Scripts/master/cudalucas2.sh | bash -s -- <Computer number> [PrimeNet User ID] [Computer name] [Type of work] [Idle time to run]

GpuOwl

wget -qO - https://raw.github.com/tdulcet/Distributed-Computing-Scripts/master/gpuowl2.sh | bash -s -- <Computer number> [PrimeNet User ID] [Computer name] [Type of work] [Idle time to run]

BOINC

Downloads, installs and sets up BOINC.

wget -qO - https://raw.github.com/tdulcet/Distributed-Computing-Scripts/master/boinc.sh | bash -s -- <Project URL> <E-mail> <Password>

OR

wget -qO - https://raw.github.com/tdulcet/Distributed-Computing-Scripts/master/boinc.sh | bash -s -- <Project URL> <Account Key>

This script can be used with any project that uses BOINC.

Folding@home

Downloads, installs and sets up Folding@home.

wget -qO - https://raw.github.com/tdulcet/Distributed-Computing-Scripts/master/folding.sh | bash -s -- [Username] [Team number] [Passkey] [Power]

These scripts should work on Ubuntu, Debian and any Linux distribution that can use the apt package manager.

Contributing

Pull requests welcome! Ideas for contributions:

  • Create install script for the CUDAPm1 GIMPS program
  • Update install scripts to support CLI options
  • Add options for setting the maximum CPU time
  • Update CUDALucas to support PRP tests and the Jacobi error check for LL tests
  • Update Mlucas to support the Jacobi error check for LL and P-1 tests, and proof generation for PRP tests
  • Finish and improve the performance of TensorPrime, the Tensor Processing Unit (TPU) GIMPS program (see here)

Thanks to Daniel Connelly for porting the MPrime script to Python and for helping create and test the Google Colab Jupyter Notebooks!

About

🖧 Distributed Computing Scripts for GIMPS, BOINC and Folding@home

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published