Prime95
Prime95 28.7 running on an Intel quad-core Windows 10 system | |
Developer(s) | George Woltman |
---|---|
Stable release | 28.7 / August 10, 2015[1] |
Operating system | Microsoft Windows, Mac OS X, Linux (MPrime), FreeBSD (MPrime) |
Type | Mersenne prime finder / system stability tester |
License | GIMPS prize terms |
Website | mersenne.org |
Prime95 is the freeware application written by George Woltman that is used by GIMPS, a distributed computing project dedicated to finding new Mersenne prime numbers. More specifically, Prime95 refers to the Windows and Mac OS X versions of the software.
MPrime is the Linux command-line interface version of Prime95, to be run in a text terminal or in a terminal emulator window as a remote shell client. It is identical to Prime95 in functionality, except it lacks a graphical user interface.
Although most of the GIMPS software's source code is publicly available, it is technically not free software as users must abide by the project's distribution terms if the software is used to discover a prime number with at least 100,000,000 decimal digits and wins the $150,000 bounty offered by the EFF.[2] As such, a user who uses Prime95 to discover a qualifying prime number would not be able to claim the prize directly ($50,000 will go to the person who finds the prime number). A free software package would not have this restriction.
The code that is used to generate checksums is not publicly available for security reasons.[3] The rewritten FFT assembly code in the current stable version 28 (since June 1, 2014) uses FMA instruction set (FMA3) instructions of Haswell (microarchitecture) CPUs (Core i3/i5/i7-4xxx models), resulting in a huge performance increase.[4]
Prime95 currently does not have GPU support, although Woltman has indicated that it is under development. However, there are third-party programs, such as CUDALucas, that make use of the processing power of GPUs.
Finding Mersenne primes by distributed computing
As of 2014, 14 new Mersenne prime numbers have been found by the network of participants, and a new Mersenne prime was discovered approximately every year until 2009; the latest was four years later. Scott Kurowski wrote the Internet PrimeNet Server that supports the Prime95/MPrime software on GIMPS, one of the earliest grid computing projects, researching Mersenne prime numbers, to demonstrate Entropia-distributed computing software, a company he founded in 1997.
Processing power
A table of selected benchmarks is provided below. The complete list can be found at the official GIMPS website.[5]
Comparison of CPU core power | Frequency | Cores | FFT | Trial factoring | TDP | |
---|---|---|---|---|---|---|
Prime95 benchmark[5][6] | (per core) | 2048k | 4096k | 64-bit | ||
Platform CPU model | MHz | ms | ms | ms | Watts | |
Intel Atom 330 | 1600 | 2 | 621 | 1166 | 46 | 8 |
Intel Atom D510 | 1664 | 2 | 586 | 1954 | 25.7 | 13 |
Intel Pentium III | 1151 | 1 | 438 | 923 | 50.6 | 30 |
AMD Athlon | 1054 | 1 | 457 | 774 | 56.0 | 68 |
AMD Fusion E-350 | 1596 | 2 | 222 | 491 | 15.2 | 18 |
AMD Athlon XP 2000+ | 1640 | 1 | 201 | 448 | 32.8 | ~60 |
Intel Pentium 4 | 3078 | 1 | 72.4 | 162 | 14.9 | 86 |
AMD Phenom II X4 | 3414 | 4 | 34.9 | 76.3 | 4.59 | 125 |
Intel Core 2 Duo E8600 | 3334 | 2 | 34.2 | 73.1 | 4.89 | 65 |
Sandy Bridge Pentium G620T | 2159 | 2 | 41.1 | 72.5 | 4.99 | 35 |
AMD Phenom II X6 1100T | 3310 | 6 | 32.7 | 69.5 | 3.85 | 125 |
Intel Core i5-2500K | 3330 | 4 | 23.9 | 53.2 | 3.49 | 95 |
Intel Core i5-2500K | 4400 | 4 | 3.3 | 7.1 | 2.61 | 95 |
Intel Core i7-2600K | 3463 | 4 | 21.8 | 45.4 | 3.67 | 95 |
Intel Core i7-3770K | 4222 | 4 | 3.978 | 9.450 | 3.788 | 77 |
Use for stress testing
Over the years, Prime95 has become extremely popular among PC enthusiasts and overclockers as a stability testing utility. It includes a "Torture Test" mode designed specifically for testing PC subsystems for errors in order to help ensure the correct operation of Prime95 on that system. This is important because each iteration of the Lucas-Lehmer depends on the previous one; if one iteration is incorrect, so will be the entire primality test.
The stress-test feature in Prime95 can be configured to better test various components of the computer by changing the fast fourier transform (FFT) size. Three pre-set configurations are available: Small FFTs and In-place FFTs, and Blend. Small and In-place modes primarily test the FPU and the caches of the CPU, whereas the Blend mode tests everything, including the memory.
By selecting Custom, the user can gain further control of the configuration. For example, by selecting 8-8 kB as the FFT size, the program stresses primarily the CPU. By selecting 2048-4096 kB and unchecking the "Run FFTs in-place" checkbox, providing the maximum amount of RAM free in the system, the program tests the memory and the chipset. If the amount of memory to use option is set too high, then the system will start using the paging file and the test will not stress the memory.
On an absolutely stable system, Prime95 would run indefinitely. If an error occurs, at which point the stress test would terminate, this would indicate that the system may be unstable. There is an ongoing debate about terms "stable" and "Prime-stable", as Prime95 often fails before the system becomes unstable or crashes in any other application. This is because Prime95 is designed to subject the CPU to an incredibly intense workload, and to halt when it encounters even one minor error, whereas most normal applications do not stress the CPU anywhere near as much, and will continue to operate unless they encounter a fatal error.
In the overclocking community, a rule of thumb is often used to determine how long to run Prime95: test the CPU (8 kB FFT) for 10 hours and the memory (4096 kB FFT) for 10 hours, and if the system passes, there is a high chance that it is stable. Twenty-four hours of testing is recommended to be sure, as errors may show up after 16 or more hours of testing (compared to, say, just four hours of testing).[7] Moreover, a large proportion of system overclockers and enthusiasts favor Prime95 over other benchmarking suites because Prime95 pushes the CPU's floating point units extremely hard, causing the CPU to become extremely hot. In addition, Prime95 stresses a computer far more than the majority of software-based torture suites. The nature of this is because the operating system usually shuts down the floating-point unit when unused by other programs, whereas Prime95 is well-optimized to continuously and effectively thread the FPU, causing it to be deeply pipelined, thereby generating significantly more heat because of elevated power consumption under the massive workload conditions. In CPUs which are not adequately cooled, errors are likely to occur. Prime95 also constantly accesses main memory at up to 60 MB per second. This constant activity will detect memory problems that other programs will not.
Lastly, power supply units of any machine running Prime95 are subject to the consistent ramifications of such harsh conditions. Power must be maintained clean, while providing adequate voltage, particularly to the CPU, RAM, and chipsets (mainboard chipsets such as the Northbridge where the memory controller may or may not reside; see Athlon 64 or Intel Core i7 for on-die memory controllers) to provide peak performance while maintaining stability. Cray Research used programs similar to Prime95 for over a decade for the purpose of stability testing.[8]
Limits
Version 24 and older of Prime95 cannot test Mersenne numbers beyond .[9] This is slightly shorter than a 24 million digit number. Newer versions of Prime95 (version 25, 26, 27 and 28) can handle Mersenne numbers up to the limit .[10] However, they can perform Trial Factoring on Mersenne numbers up to .
Prime95 does not fully stress all processor threads when the threads number is more than 64 in Windows, or 32 for the 32-bit version. Windows will manage the processors in groups when the number is beyond 64. Each group will only have a maximum of 64. Prime95 will only load into one processor group.
Release history
More details are located in the whatsnew.txt file.
Color | Meaning |
---|---|
Red | Former release |
Pink | Former test release |
Green | Current stable release |
Gold | Current test release |
Blue | Future release |
Version | Release date | Significant changes |
---|---|---|
1 | January 3, 1996 | |
8 | April 12, 1996 | Trial factoring speeds improved |
10 | Self-test added, various changes to menus | |
12 | May 22, 1996 | Speed increased, memory usage decreased, more self-tests and error checks added, exponent limit increased to 2,630,000 |
12.1 | Command line arguments added | |
12.2 | ||
12.3 | Backup files are now generated every 30 minutes | |
12.4 | Improvements in trial factoring and backup file generation | |
13.0 | November 1, 1996 | The Lucas-Lehmer assembly code was almost completely rewritten to increase modularity and readability. |
13.1 | More FFTs added | |
13.2 | ||
14.0 | March 3, 1997 | Exponent limit increased to 5,250,000 |
14.1 | Pentium code improved | |
14.2 | Trial factoring improved | |
14.3 | Pentium Pro optimizations added | |
15.0 | February 2, 1998 | Prime95 can now automatically obtain assignments, configuration file system reworked |
15.1 | ||
15.2 | New HTTP protocol, support for Windows 95 services | |
15.3 | ||
15.4 | More support for firewalls and proxies | |
16.1 | May 22, 1998 | Exponent limit increased to 20,500,000, factoring limit increased to 64 bits |
16.2 | ||
16.3 | Safety check added to prevent accidental credit transfer | |
16.4 | Prime95 now shows progress in percentage | |
16.5 | Networking code updated | |
17.0 | Support for double checking | |
17.1 | Prime95 can now do ECM factoring for numbers of the form 2n + 1 | |
17.2 | ECM speeds improved for 2n + 1 | |
18.0 | April 3, 1999 | |
18.1 | April 13, 1999 | Change added to allow server to distinguish versions |
19.0 | October 10, 1999 | Exponents of up to 79,300,000 supported, P-1 factoring added, save files for ECM factoring |
19.1 | AMD K6 optimizations | |
19.2 | December 17, 1999 | |
20.0 | ECM and P-1 improvements | |
20.1 | P-1 improvements | |
20.1 | P-1 improvements | |
20.2 | ||
20.3 | ||
20.4 | ||
20.5 | ||
20.6 | June 16, 2000 | |
21.2 | SSE2 support | |
21.3 | Ability to skip redundant P-1 factoring | |
21.4 | September 23, 2001 | Torture test improved |
22.1 | Server and network code improved | |
22.2 | Assignment optimizations | |
22.3 | More FFT sizes, better error checking | |
22.4 | ||
22.5 | ||
22.6 | Windows service support | |
22.7 | SSE2 support for trial factoring on Pentium 4 | |
22.8 | August 15, 2002[11] | Crossover FFTs |
22.9 | September 7, 2002[12] | Windows tray UI improvements |
22.10 | October 8, 2002[13] | More support for automatic start at bootup |
22.11 | ||
22.12 | November 9, 2002 | |
22.13 | December 29, 2002 | |
23.1 | February 10, 2003[14] | SSE2 optimizations |
23.2 | February 20, 2003[15] | More SSE2 optimizations |
23.3 | April 29, 2003[16] | More SSE2 optimizations |
23.4 | More SSE2 optimizations | |
23.5 | July 3, 2003 | More error-checking |
23.6 | July 15, 2003[17] | |
23.7 | September 6, 2003[18] | Changes in memory settings |
23.8 | February 17, 2004 | |
23.9 | September 16, 2003 | Reduced memory requirement in torture tests |
24.6 | December 7, 2004[19] | AMD Athlon CPU optimizations |
24.9 | ||
24.10 | Support for 64-bit Windows | |
24.11 | March 30, 2005[20] | AMD CPU optimizations |
24.12 | June 8, 2005[21] | SSE2 optimizations |
24.13 | July 5, 2005 | Different FFT implementations for certain processors |
24.14 | August 5, 2005[22] | |
24.15 | ||
25.3 | June 16, 2007[23] | True multi-core support, added PRP tests, various other changes |
25.4 | August 10, 2007[24] | |
25.5 | September 24, 2007[25] | |
25.6 | December 22, 2007[26] | |
25.7 | October 7, 2008[27] | |
25.8 | December 14, 2008[28] | |
25.9 | March 16, 2009[29] | Speed improvements |
25.10 | May 3, 2009[30] | Mac OS X and FreeBSD GUI support |
25.11 | July 14, 2009 | Faster PRP tests |
25.12 | July 29, 2009 | |
25.13 | October 6, 2009 | |
25.14 | March 22, 2010 | |
26.2 | September 14, 2010[31] | Optimized FFT code for many architectures; file size is greatly increased as a result |
26.3 | October 13, 2010[32] | |
26.4 | November 15, 2010 | Support of up to 64 cores (for 64-bit systems) |
26.5 | February 23, 2011 | |
26.6 | April 8, 2011[33] | |
27.1 alpha | December 5, 2011[34] | Intel AVX support (32 bit only) |
27.2 alpha | December 19, 2011[35] | Includes all FFT lengths; first Linux/MPrime test version |
27.3 beta | February 16, 2012[36] | 64 bit AVX support |
27.4 beta | March 9, 2012[37] | |
27.6 beta | April 24, 2012[38] | Bug fixes; (v27.5 was skipped;[39] the underlying math libraries went through a revision, but Prime95 was not modified.) |
27.7 beta | May 3, 2012[40] | More bug fixes |
27.7 | May 15, 2012 | Stable AVX support (for Sandy Bridge and Ivy Bridge CPUs, Core i3/i5/i7-2xxx and 3xxx models) totaling a ~30% performance increase relative to version 26.[4] |
27.9 | December 12, 2012 | Minor bug fixes. |
28.5 | May 30, 2014 | AVX2 and FMA3 support for Haswell-based CPUs (Core i3/i5/i7-4xxx models), additional memory caching optimizations for Sandy Bridge and Ivy Bridge-based CPUs. |
TBD | TBD | GPU support (however, there are separate programs created by community volunteers that use GPUs) |
See also
References
- ↑ "Free Software - GIMPS". Mersenne.org. Retrieved 2016-01-10.
- ↑ Cooperative Computing Awards
- ↑ http://mersenneforum.org/showpost.php?p=47191&postcount=16
- 1 2 "Prime95 version 28 released! Faster on Intel's latest CPUs!". Mersenne Research, Inc. Retrieved 27 September 2014.
- 1 2 Prime95/MPrime benchmark reports
- ↑ sili.net List of Prime95/MPrime benchmarks
- ↑ "Guidelines for Thorough Stability Testing - Overclockers Forums". Ocforums.com. Retrieved 2013-02-06.
- ↑ http://www.xs4all.nl/~mfvl/prime/readme.txt
- ↑ "Team StarQwest". Web.archive.org. Archived from the original on June 6, 2008. Retrieved 2013-02-06.
- ↑ "P-1 factoring anyone? - Page 22". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "View Single Post - Detailed client software thread". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "View Single Post - Detailed client software thread". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "View Single Post - Detailed client software thread". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "View Single Post - Detailed client software thread". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "View Single Post - Detailed client software thread". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "View Single Post - Detailed client software thread". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "version 23.6 - don't bother to download it". mersenneforum.org. 2003-09-23. Retrieved 2013-02-06.
- ↑ "23.7 - not much of interest". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "Beta version 24.6 - Athlon users wanted". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "Early Beta of version 24.11". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "Beta version 24.12 available". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "Version 24.14". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "Prime95 v25.3". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "Prime95 version 25.4". mersenneforum.org. Retrieved 2013-02-06.
- ↑ "Prime95 version 25.5". mersenneforum.org. Retrieved 2013-02-06.
- ↑ http://www.mersenneforum.org/showthread.php?t=9779
- ↑ http://mersenneforum.org/showthread.php?t=10746
- ↑ http://mersenneforum.org/showthread.php?t=11132
- ↑ http://mersenneforum.org/showthread.php?t=11602
- ↑ http://www.mersenneforum.org/showthread.php?t=11825
- ↑ http://mersenneforum.org/showthread.php?t=13887
- ↑ http://mersenneforum.org/showthread.php?t=14055
- ↑ http://mersenne.org/freesoft/default.php
- ↑ http://mersenneforum.org/showthread.php?p=281148
- ↑ http://mersenneforum.org/showpost.php?p=282856&postcount=63
- ↑ http://mersenneforum.org/showthread.php?t=16535
- ↑ http://mersenneforum.org/showthread.php?t=16618
- ↑ http://www.mersenneforum.org/showthread.php?t=16751
- ↑ http://mersenneforum.org/showpost.php?p=292383&postcount=2
- ↑
External links
- GIMPS Prime95 and MPrime download page - software for Windows 64-bit, Windows 32-bit, Mac OS X, Linux 64-bit, Linux 32-bit, FreeBSD 64-bit, FreeBSD 32-bit
- GIMPS Prime95 and MPrime FTP Server - contains various versions of Prime95 and MPrime
- GIMPS Prime95 and MPrime FTP Mirror - mirrors the FTP server (uses HTTP)
- How to use Prime95 for stress (torture) testing