Prime95
Encyclopedia
Prime95 is the name of the Microsoft Windows
-based software application written by George Woltman
that is used by GIMPS
, a distributed computing
project dedicated to finding new Mersenne prime
numbers.
MPrime is the Linux
command-line interface
version of Prime95, to be be run in a text terminal or in a terminal emulator
window as a remote shell client. It is identical to the Windows version, 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
., a user who uses Prime95 to discover a qualifying prime number would not be able to claim the prize directly. A free software package would not have this restriction.
The code that is used to generate checksum
s is not publicly available due to security reasons.
numbers have been found by the network of participants, and, on average, a new Mersenne prime is discovered approximately every year. 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.
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). 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.
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 beyond 64. Each group will only have maximum of 64. Prime95 will only load into one processor group.
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
-based software application written by George Woltman
George Woltman
George Woltman is the founder of the Great Internet Mersenne Prime Search , a distributed computing project researching Mersenne prime numbers using his software Prime95 and MPrime. He graduated from the Massachusetts Institute of Technology with degrees in computer science. He is presently...
that is used by GIMPS
Great Internet Mersenne Prime Search
The Great Internet Mersenne Prime Search is a collaborative project of volunteers who use freely available computer software to search for Mersenne prime numbers. The project was founded by George Woltman, who also wrote the software Prime95 and MPrime for the project...
, a distributed computing
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...
project dedicated to finding new Mersenne prime
Mersenne prime
In mathematics, a Mersenne number, named after Marin Mersenne , is a positive integer that is one less than a power of two: M_p=2^p-1.\,...
numbers.
MPrime is the Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
command-line interface
Command-line interface
A command-line interface is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks...
version of Prime95, to be be run in a text terminal or in a terminal emulator
Terminal emulator
A terminal emulator, terminal application, term, or tty for short, is a program that emulates a video terminal within some other display architecture....
window as a remote shell client. It is identical to the Windows version, except it lacks a graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
.
Although most of the GIMPS software's source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
is publicly available, it is technically not free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
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
Electronic Frontier Foundation
The Electronic Frontier Foundation is an international non-profit digital rights advocacy and legal organization based in the United States...
., a user who uses Prime95 to discover a qualifying prime number would not be able to claim the prize directly. A free software package would not have this restriction.
The code that is used to generate checksum
Checksum
A checksum or hash sum is a fixed-size datum computed from an arbitrary block of digital data for the purpose of detecting accidental errors that may have been introduced during its transmission or storage. The integrity of the data can be checked at any later time by recomputing the checksum and...
s is not publicly available due to security reasons.
Finding Mersenne primes by distributed computing
, 13 new Mersenne primeMersenne prime
In mathematics, a Mersenne number, named after Marin Mersenne , is a positive integer that is one less than a power of two: M_p=2^p-1.\,...
numbers have been found by the network of participants, and, on average, a new Mersenne prime is discovered approximately every year. Scott Kurowski
Scott Kurowski
Scott Kurowski is an entrepreneurial software technologist and inventor. In 1997 he founded Entropia, a venture capital funded company selling grid computing software. In 2000, he built a grid computing system searching for HIV protease inhibitors for The Scripps Research Institute...
wrote the Internet PrimeNet Server
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...
that supports the Prime95/MPrime software on GIMPS, one of the earliest grid computing
Grid computing
Grid computing is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files...
projects, researching Mersenne prime numbers, to demonstrate Entropia
Entropia, Inc. (company)
Entropia, Inc. was a company founded in 1997 that sold distributed computing software for CPU scavenging.Their product's server infrastructure was based on Microsoft Windows....
-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.Comparison of CPU core power | Frequency Frequency Frequency is the number of occurrences of a repeating event per unit time. It is also referred to as temporal frequency.The period is the duration of one cycle in a repeating event, so the period is the reciprocal of the frequency... |
Cores | FFT | Trial factoring Trial division Trial division is the most laborious but easiest to understand of the integer factorization algorithms. Its ease of implementation makes it a viable integer factorization option for devices with little available memory, such as graphing calculators.... |
TDP Thermal Design Power The thermal design power , sometimes called thermal design point, refers to the maximum amount of power the cooling system in a computer is required to dissipate. For example, a laptop's CPU cooling system may be designed for a 20 watt TDP, which means that it can dissipate up to 20 watts of heat... |
|
---|---|---|---|---|---|---|
Prime95 Prime95 Prime95 is the name of the Microsoft Windows-based software application written by George Woltman that is used by GIMPS, a distributed computing project dedicated to finding new Mersenne prime numbers.... benchmark |
(per core) | 2048k | 4096k | 65-bit | ||
Platform CPU model | MHz | ms | ms | ms | Watts | |
Intel Atom Intel Atom Intel Atom is the brand name for a line of ultra-low-voltage x86 and x86-64 CPUs from Intel, designed in 45 nm CMOS and used mainly in netbooks, nettops, embedded application ranging from health care to advanced robotics and Mobile Internet devices... 330 |
1600 | 2 | 621 | 1166 | 46 | 8 |
Intel Atom Intel Atom Intel Atom is the brand name for a line of ultra-low-voltage x86 and x86-64 CPUs from Intel, designed in 45 nm CMOS and used mainly in netbooks, nettops, embedded application ranging from health care to advanced robotics and Mobile Internet devices... D510 |
1664 | 2 | 585.91 | 1954.40 | 25.65 | 13 |
Intel Pentium III | 1151 | 1 | 438.10 | 922.58 | 50.59 | 30 |
AMD Athlon | 1054 | 1 | 457.40 | 774.49 | 56.08 | ? |
AMD Fusion AMD Fusion AMD Fusion is the marketing name for a series of APUs by AMD. There are two flavors of Fusion currently available, one with its CPU logic based on the Bobcat core and the other its CPU logic based on the 10h core. In both cases the GPU logic is HD6xxx, which itself is based on the mobile variant of... E-350 |
1596 | 2 | 222.03 | 491.02 | 15.18 | 18 |
AMD Athlon XP 2000+ | 1640 | 1 | 201.21 | 448.28 | 32.80 | ~60 |
Intel Pentium 4 | 3078 | 1 | 72.40 | 162.02 | 14.91 | 86 |
AMD Phenom II X4 | 3414 | 4 | 34.86 | 76.27 | 4.59 | 125 |
Intel Core2 Duo E8600 | 3334 | 2 | 34.15 | 73.07 | 4.89 | 65 |
Sandy Bridge Pentium G620T | 2159 | 2 | 41.09 | 72.53 | 4.99 | 35 |
AMD Phenom II X6 1100T | 3310 | 6 | 32.68 | 69.54 | 3.85 | 125 |
Intel Core i5-2500K | 3330 | 4 | 23.94 | 53.24 | 3.49 | 95 |
Intel Core i7-2600K | 3463 | 4 | 21.75 | 45.35 | 3.67 | 95 |
Use for stress testing
Over the years, Prime95 has become extremely popular among PCPersonal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...
enthusiasts and overclockers
Overclocking
Overclocking is the process of operating a computer component at a higher clock rate than it was designed for or was specified by the manufacturer, but some manufacturers purposely underclock their components to improve battery life. Many people just overclock or 'rightclock' their hardware to...
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
Fast Fourier transform
A fast Fourier transform is an efficient algorithm to compute the discrete Fourier transform and its inverse. "The FFT has been called the most important numerical algorithm of our lifetime ." There are many distinct FFT algorithms involving a wide range of mathematics, from simple...
(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
Rule of thumb
A rule of thumb is a principle with broad application that is not intended to be strictly accurate or reliable for every situation. It is an easily learned and easily applied procedure for approximately calculating or recalling some value, or for making some determination...
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). 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
Athlon 64
The Athlon 64 is an eighth-generation, AMD64-architecture microprocessor produced by AMD, released on September 23, 2003. It is the third processor to bear the name Athlon, and the immediate successor to the Athlon XP...
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.
Limits
Version 24 and older of Prime95 cannot test Mersenne numbers beyond . This is slightly shorter than a 24 million digit number. Newer versions of Prime95 (version 25 and 26) can handle Mersenne numbers up to the limit .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 beyond 64. Each group will only have 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 |
Blue | Future release |
Gold | Current test release |
Version | Release date | Significant changes |
---|---|---|
8 | Trial factoring speeds improved | |
10 | Self-test added, various changes to menus | |
12 | 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.1 | More FFTs added | |
13.2 | ||
14.0 | 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 | 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 | 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 | ||
18.1 | April 13, 1999 | Change added to allow server to distinguish versions |
19.0 | 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 | Crossover FFTs |
22.9 | September 7, 2002 | Windows tray UI improvements |
22.10 | October 8, 2002 | More support for automatic start at bootup |
22.11 | ||
22.12 | ||
22.13 | December 29, 2002 | |
23.1 | February 10, 2003 | SSE2 optimizations |
23.2 | February 20, 2003 | More SSE2 optimizations |
23.3 | April 29, 2003 | More SSE2 optimizations |
23.4 | More SSE2 optimizations | |
23.5 | More error-checking | |
23.6 | July 15, 2003 | |
23.7 | September 6, 2003 | Changes in memory settings |
23.8 | ||
23.9 | Reduced memory requirement in torture tests | |
24.6 | December 7, 2004 | AMD Athlon CPU optimizations |
24.9 | ||
24.10 | Support for 64-bit Windows | |
24.11 | March 30, 2005 | AMD CPU optimizations |
24.12 | June 8, 2005 | SSE2 optimizations |
24.13 | July 5, 2005 | Different FFT implementations for certain processors |
24.14 | August 5, 2005 | |
24.15 | ||
25.3 | June 16, 2007 | True multi-core support, various other changes |
25.4 | August 10, 2007 | |
25.5 | September 24, 2007 | |
25.6 | December 22, 2007 | |
25.7 | October 7, 2008 | |
25.8 | December 14, 2008 | |
25.9 | March 16, 2009 | Speed improvements |
25.10 | May 3, 2009 | Mac OS X and FreeBSD GUI support |
25.11 | July 14, 2009 | Faster PRP tests |
26.2 | September 14, 2010 | Optimized FFT code for many architectures; file size is greatly increased as a result |
26.3 | October 13, 2010 | |
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 | |
27 | TBD | Intel AVX support |
TBD | TBD | GPU support |
See also
- List of distributed computing projects
- Stress testing
- OverclockingOverclockingOverclocking is the process of operating a computer component at a higher clock rate than it was designed for or was specified by the manufacturer, but some manufacturers purposely underclock their components to improve battery life. Many people just overclock or 'rightclock' their hardware to...
External links
- Prime95 download page
- [ftp://mersenne.org/gimps GIMPS FTP server] - contains various versions of Prime95
- How to use Prime95 for stress (torture) testing