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). 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.
New features in Version 30.7 of prime95.exe
1) Better prime pairing in stage 2 of ECM/P-1/P+1. This usually results in slightly better
stage 2 timings or less memory used. Save file formats changed – upgrading to 30.7 while
ECM/P-1/P+1 work is in stage 2 will result in stage 2 being restarted from scratch.
2) P-1 converted to use P+1 style stage 2. From the users perpective there is no difference.
Internally a modular inverse is required at stage 2 init, but there is one multiplication
saved for every D-block processed. For all common P-1 cases, this is a little faster.
3) ECM/P-1/P+1 no longer use a bit map for prime pairs. Instead a compressed pairing map is
created to save memory. For large B2 values this also results in fewer calls to generate
pairing maps. It also makes stage 2 save files smaller.
4) Some minor changes in AVX-512 FFT crossovers. ECM/P-1/P+1 all changed to rollback to the
last save file and switch to a larger FFT size should an excessive roundoff error be
5) Support for asymmetric processor architectures such as Intel’s Alder Lake.
6) Torture test dialog now asks for number of cores to test along with a “Use hyperthreading”
checkbox. Previously, the dialog box asked for total number of torture threads to execute.
7) Versions 30.4/30.5/30.6 were underestimating the cost of P-1 stage 2 relative to P-1 stage 1.
Expect this version to use lower stage 2 bounds in P-1.
30.8 Build 2 (November 29th, 2021)
- P-1 stage 2 using fast polynomial multiplication similar to the GMP-ECM program. If lots
of memory is available for stage 2 this implementation can be substantially faster.
Remark: Best old school OC stability testing tool
Windows 64-bit: https://mersenne.org/ftp_root/gimps/p95v309b3.win64.zip
Linux 64-bit: https://mersenne.org/ftp_root/gimps/…linux64.tar.gz
Windows 32-bit: https://mersenne.org/ftp_root/gimps/p95v308b15.win32.zip
Linux 32-bit: https://mersenne.org/ftp_root/gimps/…linux32.tar.gz
Windows 64-bit Service: https://mersenne.org/ftp_root/gimps/…64.service.zip
Windows 32-bit Service: https://mersenne.org/ftp_root/gimps/…32.service.zip