Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,21 @@ PRPLL is an OpenCL (GPU) program for primality testing Mersenne numbers.
## Build

Invoke `make` in the source directory.
Multi-threaded build (`make -j$(nproc)`) is supported for the impatient.


## Use
See `prpll -h` for the command line options.


## Why LL
## Work types supported

For Mersenne primes search, the PRP test is by far preferred over LL, such that LL is not used anymore for search.
But LL is still used to verify a prime found by PRP (which is a very rare occurence).
This is because there is a simple way to verify the results of a PRP computation, unlike LL which is verified by full recomputation.
But PRP does not definitely confirm a number as prime, so LL is still used to verify a probable prime found by PRP (which is a very
rare occurence).

PRPLL supports LL, PRP, and CERT jobs.

### Lucas-Lehmer (LL)
This is a test that proves whether a Mersenne number is prime or not, but without providing a factor in the case where it is not prime.
Expand All @@ -54,3 +58,10 @@ prime is extremely small for large Mersenne candidates.

The PRP test is very similar computationally to LL: PRP iterates f(x) = x^2 modulo M(p) starting from 3. If after p iterations the result is 9 modulo M(p), then M(p) is probably prime, otherwise M(p) is certainly not prime. The cost
of PRP is exactly the same as LL.

The PRP test also generates a proof file based on the Pietrzak VDF scheme authenticating the calculation leading to the reported
residue. This file is meant to be uploaded to PrimeNet alongside the JSON result output.

### CERT
PrimeNet hands out work containing other people's cert files to trusted computers. These computers verify the Pietrzak proof of the
modular exponentiation process. PRPLL is able to process CERT work since October 2024 (version TO_BE_RELEASED).