Prime95
Prime95 / MPrime
|
|
---|---|
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 .
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
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:
- Trial division
- Pollard p-1 method - P-1 test
- Lucas-Lehmer test - LL test
- Elliptic Curve Method - ECM test
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
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 |
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
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
- Download from Prime95
- GIMPS - PrimeNet Activity Summary (English)
- GIMPS FTP directory - contains different versions of Prime95
- Benchmarks
- Forum
- NFS @ Home
Individual evidence
- ↑ GIMPS: Software End User License Agreement ("EULA")
- ↑ http://mersenneforum.org/showpost.php?p=47191&postcount=16
- ↑ GIMPS: PrimeNet Activity Summary PrimeNet Aggregate Computing Power 06-2011
- ↑ Christof Windeck: Hitzewelle, c't 15/2010 of July 5, 2010, page 174ff
- ↑ a b Prime95 benchmarks
- ↑ 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.
- ↑ 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. .
- ↑ 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.
- ↑ http://www.cpu-world.com/CPUs/Atom/Intel-Atom%20D510%20AU80610004392AA.html
- ↑ http://www.cpu-world.com/CPUs/Bobcat/AMD-E%20Series%20E-350%20-%20EME350GBB22GT.html
- ↑ estimated
- ↑ http://www.cpu-world.com/CPUs/Pentium-III/Intel-Pentium%20III%201200%20-%20RK80530PZ009256%20%28BX80530C1200256%29.html
- ↑ http://www.cpu-world.com/CPUs/K7/AMD-Athlon%201100%20-%20A1100AMS3B.html
- ↑ http://www.cpu-world.com/CPUs/K7/AMD-Athlon%20XP%202000+%20-%20AX2000DMT3C.html
- ↑ http://www.cpu-world.com/CPUs/Pentium_4/Intel-Pentium%204%203.06%20GHz%20-%20RK80532PE083512%20%28BX80532PE3066D%29.html
- ↑ http://www.cpu-world.com/CPUs/K10/AMD-Phenom%20II%20X4%20965%20Black%20Edition%20-%20HDZ965FBK4DGM%20%28HDZ965FBGMBOX%29.html
- ↑ http://www.cpu-world.com/CPUs/Core_2/Intel-Core%202%20Duo%20E8600%20AT80570PJ0936M%20%28BX80570E8600%20-%20BXC80570E8600%29.html
- ↑ http://www.cpu-world.com/sspec/SR/SR05T.html
- ↑ http://www.cpu-world.com/CPUs/K10/AMD-Phenom%20II%20X6%201100T%20Black%20Edition%20-%20HDE00ZFBK6DGR%20%28HDE00ZFBGRBOX%29.html
- ↑ http://www.cpu-world.com/CPUs/Core_i5/Intel-Core%20i5-2500K%20CM8062300833803.html
- ↑ http://www.cpu-world.com/CPUs/Core_i7/Intel-Core%20i7-2600K%20CM8062300833908.html
- ↑ MersenneForum.org: New breakeven points for Version 26
- ↑ 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
- ↑ Khronos OpenCL API Registry - specification and header files
- ↑ "[...] 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
- ↑ MersenneForum.org: Factoring bit depth?
- ↑ GIMPS: The Math
- ↑ MersenneForum.net
- ↑ http://www.mersenne.org/download/whatsnew.txt
- ↑ Prime95 version 27 released! Faster on Intel's newer CPUs! . Mersenne Research, Inc .. Retrieved July 6, 2012.