Prime95

from Wikipedia, the free encyclopedia
Prime95 / MPrime

Prime95 icon (green) .svg
Prime95.PNG
Prime95 in the trial division
Basic data

developer George Woltman
Current  version 29.8b6 (Windows, Linux, FreeBSD)
29.8b7 (Mac OS X)
(August 18-19, 2019)
operating system Windows (Prime95), macOS (Prime95), Linux (MPrime), FreeBSD
programming language C , ASM86
category Prime number tester , especially for Mersenne prime numbers; Benchmark
License Freeware , but coupling to PrimeNet if searching for Mersenne prime numbers
German speaking No
http://www.mersenne.org/

Prime95 (prime95.exe) is a program for Windows and macOS for testing the primality of a Mersenne number using the so-called Lucas-Lehmer test . It is offered by GIMPS and developed by George Woltman as software for volunteer computing . The software versions for GNU / Linux and FreeBSD are called MPrime and, unlike Prime95, have no graphical user interface .

The program has one of the fastest known implementations for multiplications , in which it uses highly optimized processor code to carry out fast Fourier transforms . The associated routines are available as a gwnum library in the C programming language and are used by some other programs. The gwnum can be used freely, but the project conditions ( Software End User License Agreements " EULA " ) must be observed when searching for Mersenne prime numbers .

The code for generating checksums is not publicly available for security reasons.

Purposes

Distributed computing

The program can be operated as a software client for PrimeNet , a central database for Mersenne prime numbers operated by GIMPS . It then connects to the PrimeNet server at regular intervals to request new work and to deliver finished results. The calculation is done on the CPU while it is unused. Official support for GPUs does not yet exist. With CUDALucas (Lucas-Lehmer test) and mfaktc (trial division) but there are two CUDA -enabled programs whose results are accepted by the server. In mid-2011, PrimeNet had around 62 teraflops of computing power.

Stress test

PC enthusiasts Prime95 is like the CPU - overclocking used as a stability test, as the program, the CPU auslastet relatively strong, resulting in a strong thermal load results, which is often the critical factor. Program-internal plausibility checks of the calculation results provide a quality control which reveals hardware-related calculation errors in the overclocked computer system.

Computing power

The program can be used as a benchmark . The results can be automatically presented to the public for comparison by the PrimeNet server .

Comparison of CPU - processing power with the help of Prime95 v26.6 and MPrime Benchmarks
Platform / CPU model Clock
frequency
(MHz)
Cores FFT
length: 2048k
(ms)
FFT
length: 4096k
(ms)
Trial division
factor length : 65 bit
(ms)
TDP
(W)
rel. Throughput per core per day
1) per GHz clock 2) per watt 3)
Intel Atom D510 1664 2 585.91 1954.40 25.65 13 0.23 0.14 0.0215
AMD Fusion E-350 1596 2 222.03 491.02 15.18 18th 0.40 0.25 0.0278
Intel Pentium III 1151 1 438.10 922.58 50.59 30th 0.31 0.27 0.0090
AMD Athlon 1054 1 457.40 774.49 56.08 60 0.36 0.34 0.0057
AMD Athlon XP 2000+ 1640 1 201.21 448.28 32.80 70 0.41 0.25 0.0036
Intel Pentium 4 3078 1 72.40 162.02 14.91 82 1.50 0.49 0.0060
AMD Phenom II X4 3414 4th 34.86 76.27 4.59 125 4.32 1.27 0.0406
Intel Core2 Duo E8600 3334 2 34.15 73.07 4.89 65 4.17 1.25 0.0385
Sandy Bridge Pentium G620T 2159 2 41.09 72.53 4.99 35 3.54 1.64 0.0937
AMD Phenom II X6 1100T 3310 6th 32.68 69.54 3.85 125 4.03 1.22 0.0586
Intel Core i5-2500K 3330 4th 23.94 53.24 3.49 95 5.90 1.77 0.0745
Intel Core i7 -2600K 3463 4th 21.75 45.35 3.67 95 6.17 1.78 0.0749

1) Throughput per unit of time, which unit of time it is (second, day or year) is irrelevant.
2) Throughput divided by the clock frequency in GHz, no measurements at 1 GHz clock frequency (results in other values)
3) Throughput divided by the clock frequency in GHz and the TDP in watts, multiplied by the number of cores. This value is nonsense, since higher clock frequencies are "calculated off" twice, once by dividing by the clock, a second time by dividing the TDP at this clock. TDP is still not the power consumption in Prime95.

Factoring methods and prime number test

23. Mersenne prime number 2 11 213  - 1 as postmark

Prime95 can be used to factorize numbers of the form . Normally, however, it only looks for Mersenne primes for which a = 1, b = 2, c = prime and d = −1.

The program supports the factoring methods:

  1. Trial division
  2. Pollard p-1 method - P-1 test
  3. Lucas-Lehmer test - LL test
  4. Elliptic Curve Method - ECM test
Trial division
Exponent
up to
Upper limit
CPU GPU
3,960,000 2 60
5,160,000 2 61
6,515,000 2 62
8,250,000 2 63
13,380,000 2 64
23,390,000 2 65
29,690,000 2 66
38,300,000 2 67
48,800,000 2 68 2 73
60,940,000 2 69 2 74
77,910,000 2 70 2 75
96,830,000 2 71 2 76
120,000,000 2 72 2 77
153,400,000 2 73 2 78
199,500,000 2 74 2 79
253,500,000 2 75 2 80
322,100,000 2 76 2 81
408,400,000 2 77 2 82
516,800,000 2 78

Trial division

With regard to the set of all numbers to be tested, the trial division factoring method is used before the actual Lucas-Lehmer primality test in order to find small factors q in individual numbers comparatively quickly. The factoring method Probedivision shows numbers that are composed and therefore not Mersenne prime numbers. These numbers are administered using the PrimeNet server. The ECM test can be applied to them, which effectively finds possible further factors with a length of up to about 60 decimal places. Then, with those numbers that go through this ECM test, if necessary, go to the number field sieve , which is offered by the BOINC project NFS @ Home .

Trial division with graphics cards

Since the beginnings of programmable graphics processors in 2000, it has been possible to use the computing power of graphics cards to calculate parallelizable computing operations ( GPGPU ). In cooperation with the companies AMD, IBM, Intel and Nvidia, the first draft for OpenCL, a programming interface and the like was created. a. for graphics processors , elaborated and finally submitted to the Khronos Group .

Due to the current surplus of GIMPS computing capacity in the trial division through GPGPU support of powerful graphics cards using the maktc software and OpenCL , higher upper limits have been used since August 2011. Since the effort of the trial division is proportional to the size of the factor, i. H. depends only on the size of the factor, this software becomes increasingly unsuitable for larger factors. In comparison to the two other factoring methods trial division and P1 test, however, hardly any working memory is required, i.e. H. suitable graphics cards with a comparatively small graphics memory are sufficient.

P-1 test

With regard to the set of all numbers to be tested, the P-1 test precedes the actual Lucas-Lehmer prime number test in order to effectively find medium-sized factors q in individual numbers. It takes place after the trial division and finds factors that are strongly combined. We know that q must have possible factors of the structure . The part k is mostly composed by itself. The procedure finds the factor q as long as all factors of k are smaller than the so-called B1 limit (level 1) or all but one factor is smaller than B1 and the remaining last partial factor of k is smaller than the so-called B2 limit (level 2 , with B2 ≈ 30 * B1). In rare cases, however, the so-called Brent-Suyama extension can also find factors that actually do not meet the B2 criterion. The computational effort depends on the size of the exponent and the choice of B1 and B2. Level B2 requires a lot of memory.

LL test

The computationally complex Lucas-Lehmer prime number test is then only applied to the subset of all numbers for which the above factoring method remained inconclusive. Numbers to be tested are normally assigned automatically by PrimeNet. The limit up to which factors are searched for in the trial division depends on the number to be tested and increases with its size. The cost-optimal upper limits are given in the table trial division . They are determined empirically .

ECM test

The Elliptic Curve Method (ECM) is applied to numbers assigned by the PrimeNet server. The ECM test finds large factors q up to about 60 decimal places in length effectively. The exponents from the automatic ECM assignment of the PrimeNet server currently have seven digits. An assignment takes place only after the corresponding setting in Prime95 or a manual request via the project website. It also has a B1 and B2 limit (B2 = 100 * B1). Here, too, level B2 requires a lot of memory.

Program options

Work types under Worker Windows
abbreviation meaning
GIMPS what makes sense (server selection, default setting)
TF Trial division
TF-LMH Trial div. LMH (Lone Mersenne Hunters) , small factors
PM1-L Factorization P-1, large expon. (before Lucas-Lehmer)
PM1-S Factorization P-1, small exponents (future)
LL LL first test
LL-WR LL test, world record size
LL-10M LL test, more than 10 million digits
LL-100M LL test, more than 100 million digits
LL-NF LL test without prior factorization
D. LL second test
ECM Factoring via ECM, small exponents
ECM-F Factoring by ECM of Fermat numbers
Result types
abbreviation meaning
F. factored by trial division
F-PM1 factored by P-1
F-ECM factored by ECM
NF no factor due to trial division
NF-PM1 no factor by P-1
NF-ECM no factor through ECM
C. LL test composed
P LL test prim

On the project website, the Worker Windows (Prime95) or Workers (MPrime) can be used to specify which type of work you want to receive, for example a factorization method or the Lucas-Lehmer test. This can also be done in the program itself. Under Status you can see the work that has been received and the expected completion dates. The work is saved in the worktodo.txt file. With Unreserve Exponent you can release an exponent. The percentage of work completed will automatically GIMPS passed, but they can also be in the program at Manual PrimeNet Communication (Advanced → Manual Communication ...) Send manually to the site by a check mark at Send new expected completion dates to server sets. The new completion data are sent to the server.

You can work with the program anonymously or with a GIMPS user account. The user account and the computer name must be entered in the Configure PrimeNet window (Test → PrimeNet…). If you want to work anonymously, you have to leave the fields blank. The results can be seen in the results.txt file, the updates in versions in the whatsnew.txt file .

Versions

Prime95 v26.3 at startup

Selected main versions:

  • Version 28, last version 28.9, March 29, 2016 (acceleration for multi-thread cases compared to version 27, achieved through the use of opcodes of the Intel Haswell CPUs in the FFT area and by reducing the amount of effort involved in memory transfers)
  • Version 27, last version 27.9, December 12, 2012, with AVX support (~ 30% acceleration from Intel Sandy Bridge microarchitecture (Core 2xxx / Core 3xxx) compared to version 26)
  • Version 26, last version 26.6, April 4, 2011 (~ 20% acceleration for Core-i generation compared to version 25)
  • Version 25, last version 25.11, July 13, 2009 (PrimeNet 5.0 protocol)
  • Version 24, last version 24.14, February 2006 (PrimeNet 4.0 protocol)

Web links

Individual evidence

  1. GIMPS: Software End User License Agreement ("EULA")
  2. http://mersenneforum.org/showpost.php?p=47191&postcount=16
  3. GIMPS: PrimeNet Activity Summary PrimeNet Aggregate Computing Power 06-2011
  4. Christof Windeck: Hitzewelle, c't 15/2010 of July 5, 2010, page 174ff
  5. a b Prime95 benchmarks
  6. a b MPrime CPU benchmarks and throughput ( memento of the original from August 21, 2011 in the Internet Archive ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / mersenne-aries.sili.net
  7. FFT throughput, FFTsize 1024K, Avg Exp M20,950,000, see - ( Memento of the original from March 16, 2011 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. . @1@ 2Template: Webachiv / IABot / mersenne-aries.sili.net
  8. Measured in GHz-days per day per W, see GIMPS CPU Throughput calculator ( Memento of the original from March 16, 2011 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. ; Slight deviations for other FFT factor lengths, deviating performance profiles for MPrime trial division. @1@ 2Template: Webachiv / IABot / mersenne-aries.sili.net
  9. http://www.cpu-world.com/CPUs/Atom/Intel-Atom%20D510%20AU80610004392AA.html
  10. http://www.cpu-world.com/CPUs/Bobcat/AMD-E%20Series%20E-350%20-%20EME350GBB22GT.html
  11. estimated
  12. http://www.cpu-world.com/CPUs/Pentium-III/Intel-Pentium%20III%201200%20-%20RK80530PZ009256%20%28BX80530C1200256%29.html
  13. http://www.cpu-world.com/CPUs/K7/AMD-Athlon%201100%20-%20A1100AMS3B.html
  14. http://www.cpu-world.com/CPUs/K7/AMD-Athlon%20XP%202000+%20-%20AX2000DMT3C.html
  15. http://www.cpu-world.com/CPUs/Pentium_4/Intel-Pentium%204%203.06%20GHz%20-%20RK80532PE083512%20%28BX80532PE3066D%29.html
  16. http://www.cpu-world.com/CPUs/K10/AMD-Phenom%20II%20X4%20965%20Black%20Edition%20-%20HDZ965FBK4DGM%20%28HDZ965FBGMBOX%29.html
  17. http://www.cpu-world.com/CPUs/Core_2/Intel-Core%202%20Duo%20E8600%20AT80570PJ0936M%20%28BX80570E8600%20-%20BXC80570E8600%29.html
  18. http://www.cpu-world.com/sspec/SR/SR05T.html
  19. http://www.cpu-world.com/CPUs/K10/AMD-Phenom%20II%20X6%201100T%20Black%20Edition%20-%20HDE00ZFBK6DGR%20%28HDE00ZFBGRBOX%29.html
  20. http://www.cpu-world.com/CPUs/Core_i5/Intel-Core%20i5-2500K%20CM8062300833803.html
  21. http://www.cpu-world.com/CPUs/Core_i7/Intel-Core%20i7-2600K%20CM8062300833908.html
  22. MersenneForum.org: New breakeven points for Version 26
  23. MersenneForum.org: Economic curves cross as far as TFing vs. LLing and DCing by James http://www.mersenneforum.org/attachment.php?attachmentid=9126&d=1358182815
  24. Khronos OpenCL API Registry - specification and header files
  25. "[...] the Khronos Group announced the publication of the OpenCL 1.0 specification on December 9, 2008 [...] Immediately after the release of the OpenCL 1.0 specification, AMD announced the intended rapid adoption of the OpenCL 1.0 programming standard and the integration of a compatible compiler and a compatible runtime environment in its free ATI Stream SDK to […] Thanks to the close cooperation with OpenCL content and software developers, AMD was able to create a developer version of the ATI Stream SDK with OpenCL 1.0 support. The officially released ATI Stream SDK v2.0 with OpenCL 1.0 support has been available since the second half of 2009. “ AMD - The History of GPGPU Computing in Brief ( Memento of the original from May 27, 2013 in the Internet Archive ) Info: Der Archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. ; Accessed May 2, 2012 @1@ 2Template: Webachiv / IABot / www.amd.com
  26. MersenneForum.org: Factoring bit depth?
  27. GIMPS: The Math
  28. MersenneForum.net
  29. http://www.mersenne.org/download/whatsnew.txt
  30. Prime95 version 27 released! Faster on Intel's newer CPUs! . Mersenne Research, Inc .. Retrieved July 6, 2012.