WELCOME TO THE GREAT INTERNET MERSENNE PRIME SEARCH!

-----------------------------

Thank you for joining the Great Internet Mersenne Prime Search! You could discover one of the most coveted finds in all of Mathematics - a new Mersenne prime number. We've found four already. Join in on this fun, yet serious research project. All you need is a personal computer, patience, and a lot of luck.

In addition to the joy of making a mathematical discovery, you might win some cash. The Electronic Frontier Foundation is offering a $100,000 award to the first person or group to discover a ten million digit prime number! See how GIMPS will distribute this award if we are lucky enough to find a ten million digit prime.

In case you ever forget, the URL is http://www.mersenne.org/prime.htm. My email address is woltman@alum.mit.edu. For networking questions, contact Scott Kurowski's technical support team at primenet@entropia.com.

To use this program you must agree to the prize rules at http://www.mersenne.org/prize.htm


What are Mersenne primes and why do we search for them?

-------------

Prime numbers have long fascinated amateur and professional mathematicians. An integer greater than one is called a prime number if its only divisors are one and itself. The first prime numbers are 2, 3, 5, 7, 11, etc. For example, the number 10 is not prime because it is divisible by 2 and 5.

A Mersenne prime is a prime of the form 2P-1. The first Mersenne primes are 3, 7, 31, 127, etc. There are only 38 known Mersenne primes. GIMPS, the Great Internet Mersenne Prime Search, was formed in January 1996 to discover new world-record-size Mersenne primes. GIMPS harnesses the power of thousands of small computers like yours to search for these "needles in a haystack".

Most GIMPS members join the search for the thrill of possibly discovering a record setting, rare, and historic new Mersenne prime. Of course, there are many other reasons.

Not enough info? See http://www.utm.edu/research/primes/mersenne.shtml for a good description of Mersenne primes.


HOW IT WORKS

HOW GIMPS WORKS

-------------

· This program is used to find Mersenne Prime numbers. Mersenne numbers can be proved composite (not prime) by either finding a factor or by running a Lucas-Lehmer primality test.

· GIMPS requires a Pentium class computer that is on most of the time. The program runs at the lowest possible priority. You should not see any impact on your system's performance. The program will use about 8MB of memory and about 10MB of disk space.

· Most importantly, you will need a lot of patience. Roughly speaking it will take about a month to run a single primality test - visit the benchmark page for a more accurate estimate on your computer.

· The program talks to PrimeNet, a central server on the Internet, to get work to do and report results. The program communicates using the HTTP protocol and may require a little extra configuration to get through some firewalls. The program only sends a few hundred bytes every week or two. Thus, there is no impact on your network performance. The program does not require a continuous Internet connection and if properly configured will not automatically dial out to establish an Internet connection.

· There are three types of work assigned by the server. PII-400 and faster computers get first-time primality tests. These tests require the most work and have the best chance of finding a new Mersenne prime. Pentium-90 and faster computers get double-check assignments. These assignments do not take as long and can find a Mersenne prime only if the original test had a problem. The slowest computers are assigned factoring work. This helps by eliminating some exponents for the faster computers.

· Every half hour the program saves its state so that if there is a computer crash you will lose at most a half-hour of work. All temporary files and program settings are conveniently stored in the same folder as the program.

· Before you complete your assignment, the program will get more work to do. This will assure that your computer has a continuous supply of work.

· If you are lucky enough to find a new Mersenne prime, the program optionally notifies the server and optionally emits a continuous sound to notify you of the happy news!


EndUser

END USER LICENSE AGREEMENT

-------------

Great Internet Mersenne Prime Search

Research Computing Software v21.2

It is up to you to get your employer's permission before installing this software on any office machines. Many companies have a strict policy against running any non-business software, however hundreds of companies and other large organizations are participating successfully in the GIMPS research project. Your network administrator, MIS or IT manager is welcome to contact us about this software at primenet@entropia.com.

Every effort has been made to ensure that you will be assigned an exponent that no one else has tested or is testing. We are not responsible for lost prize money, fame, credit, etc. should someone accidentally or maliciously test the number you are working on and find it to be prime. We are not responsible should the program determine a number composite even though it is prime - the program's heavy use of memory and FPU could trigger an error that goes undetected.

Finally, as with all freeware, the program is provided "as is". However, please do send bug reports and suggestions for improvements to woltman@alum.mit.edu. See http://www.mersenne.org/freesoft.htm for free updates.


CashAwards

CASH AWARDS FOR NEW MERSENNE PRIMES

-------------

At the time of this software release, the Electronic Frontier Foundation is offering a $100,000 award to the first person or group to discover a ten million-digit prime number. If you find such a prime with the software provided, GIMPS will claim the award and distribute the award according to the following rules.

1. No money will be awarded unless and until GIMPS discovers a 10,000,000-digit prime, it is independently verified, and EFF validates our claim according to their rules. Verification is likely to take upto a year and publication in a suitable academic refereed journal as required by EFF rules will likely take another six months. For tax reasons, no money will be awarded until GIMPS is incorporated as a non-profit organization. You are responsible for all applicable taxes.

2. Up to $20,000 total will be awarded to the discoverers of new Mersenne primes found after September 1, 1999 and prior to the discovery of the 10,000,000-digit prime. Each new Mersenne prime will receive a maximum of $5,000. Up to $10,000 total will be awarded to the discoverers of mathematical or algorithmic breakthroughs in searching for Mersenne primes. To qualify for the entire award the breakthrough must be simple enough to be implemented in prime95 and double current throughput. George Woltman will be the sole determiner of whether a suggested breakthrough will be implemented, how it affects throughput, and the dollar amount to be awarded. Examples of what does not qualify: optimizations of the present code, new CPU architectures, suggesting a parallelized FFT implementation, etc. Examples of what might qualify: a faster way to find factors, a way to eliminate or speed up double-checking, a new way to use smaller FFT sizes, etc.

3. Up to $20,000 will be awarded to GIMPS, Inc. to cover expenses or fund future awards.

4. For organizing GIMPS and providing the free software, $25,000 will be awarded to the charity of George Woltman's choice.

5. The remainder goes to the discoverer of the 10,000,000-digit prime. If a group or team wishes to make a claim of one of the above awards, they must appoint a single individual to make the claim and disburse the award.

6. These rules may be changed at any time prior to the discovery of a 10,000,000-digit prime. The decisions of the GIMPS board of directors in applying the rules above and granting awards is final. Prior to GIMPS' incorporation the decision of George Woltman is final. See http://www.mersenne.org/prize.htm for updates.

7. If you were to find a 10,000,000-digit prime today the above rules imply that $25,000 would go to charity, $20,000 would go to GIMPS primarily to fund future awards, and $55,000 would go to you. Now the bad news. Testing a single 10,000,000-digit number takes a full year on a 500 MHz Pentium III computer. Your chance of success is roughly 1 in 250,000. Someone may find a 10,000,000-digit prime before GIMPS does.


ThirdParty

THIRD PARTY SOFTWARE REDISTRIBUTION LICENSE

-------------

CONTAINS DISTRIBUTED COMPUTING SOFTWARE LICENSED FROM ENTROPIA.COM, INC.


DISCLAIMER

----------

THIS PROGRAM AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.


INSTRUCTIONS

--------------

There are two ways to use this program. The automatic way uses a central server, which we call the PrimeNet server, to get work to do and report your results. Anyone with Internet access, including AOL, CompuServe, and dial-up ISP users should use this method. You do not need a permanent connection to the Internet.

The second method is the manual method. It requires a little more work and monitoring. I recommend this for computers with no Internet access or with some kind of firewall problem that prevents the automatic method from working.

If you are running this program at your place of employment, you should first GET PERMISSION from your network administrator or boss. This is especially true if you are installing the software on several machines. Some companies are reluctant to run any software they are not familiar with.


INSTRUCTIONS FOR THE AUTOMATIC METHOD

------------------------------------------------

· Run the setup program, p95setup.exe or download and unzip prime95.zip. You've probably done this already since you are reading this file.

· Connect to the Internet.

· Run prime95.exe. You will see 3 dialog boxes:

1. In the first dialog box, enter your name and email address. Optionally enter a user ID, password, and computer ID. If you are using several computers, use the same user ID and password but a unique computer ID on each machine. An easy-to-remember user ID will be helpful if you plan to visit the PrimeNet server's web page to view reports on your progress. If you do not enter a user ID or if you pick a user ID that is already in use, then the server will assign a user ID.

2. In the second dialog box, change the CPU type and speed if necessary. Fill in roughly how many hours a day you leave your computer running. Please be sure to read instructions on how to configure memory settings before you continue any further. Click OK.

3. In the third dialog box, leave the "Use PrimeNet..." checkbox checked. Do not turn this checkbox off even if you disconnect from the Internet. Check the "Use a dial-up..." checkbox if you use a modem to connect to the Internet. Note that prime95 will not dial-up to connect to the Internet, rather it waits for a time when you are already connected to contact the server. Click OK. Prime95 will now contact the PrimeNet server to get some work for your computer to do.

· If you get the error message "Unable to load HTTPNET.DLL", then you are probably missing WININET.DLL. This DLL is shipped with Microsoft's Internet Explorer. It is also installed by default in later versions of Windows 95 and Windows NT. You can download and install WININET.DLL from Scott Kurowski's web site. See http://entropia.com/ips/faq.html#wininet for details.

1. If you still cannot contact the PrimeNet server, you may want to try the RPC-based DLL. Choose "Use RPC-based DLL from the Test/PrimeNet dialog.

2. If a proxy server is the cause of your connection troubles, see the later section on "SETTING UP A PROXY SERVER".

3. If the neither DLL will not connect to the server, then you will have to use the manual method described below.

· Disable screen savers or use the "blank screen" screen saver. If this is not practical, consider raising prime95's priority to 4 or 5.

The "Start at Bootup" menu choice (on by default) will run prime95 every time you boot your computer (Windows 95/98/Me) or when you logon (Windows NT/2000/XP).


MANUAL METHOD INSTRUCTIONS

----------------------

· Use the Web (http://entropia.com/ips/manualtests.html) to create a UserId for yourself and to get a set of exponents to work on. Alternatively, you can get some work from http://www.mersenne.org/range2.htm. Copy these exponents to a file called worktodo.ini

· Run prime95.exe. You will see 3 dialog boxes:

1. In the first dialog box, enter your name and email address. Click OK.

2. In the second dialog box, change the CPU type and speed if necessary. Fill in roughly how many hours a day you leave your computer running. Please be sure to read instructions on how to configure memory settings before you continue any further. Click OK.

3. In the third dialog box, uncheck "Use PrimeNet to get work and report results", click OK.

· Disable screen savers or use the "blank screen" screen saver. If this is not practical, consider raising prime95's priority to 4 or 5.

· Once a month or when done with your exponents, use the web page again to send the file "results.txt" to the PrimeNet server. It is important to do this so the exponents you are testing are not reassigned to someone else.

The "Start at Bootup" menu choice (on by default) will run prime95 every time you boot your computer (Windows 95/98/Me) or when you logon (Windows NT/2000/XP).


NOTES

---------

Let prime95.exe run at all times. It runs at the lowest possible priority, making use of all your idle CPU cycles. It should not interfere with your normal work. Let the program run overnight and on weekends. Never turn your computer off. Turn off your monitor to conserve energy.

NOTE: Running your computer non-stop could increase your electric bill by $30 per year or more.

It can take many CPU days to test a large Mersenne number. This program can be safely interrupted by using the ESC key to write intermediate results to disk. This program also saves intermediate results to disk every 30 minutes in case there is a power failure.

To fully utilize a dual processor machine, you must run two copies of prime95.exe. Run one copy of prime95 as described above. Run the second copy of prime95.exe with the -A1 command line argument. Place two shortcuts in the startup folder (one with no arguments and one with the -A1 argument).

Dual processor machines can also improve performance by setting processor affinity in Windows NT. Use the Advanced/Affinity dialog box to do this.

You can compare your computer's speed with other users by checking the site http://www.mersenne.org/bench.htm. If you are much slower than comparable machines, there are several utilities available (such as TaskInfo2000, http://www.iarsn.com/) that can find programs that are stealing prime95's CPU cycles.

You can get a report of your PrimeNet server account status on the web (http://entropia.com/primenet/status.shtml). Type your UserID and password into the web form, and click "Get Account Report". You can get your UserID and password from the Test/User Information dialog box.

Information about running a local PrimeNet server is also available. See http://entropia.com/primenet. If you have any questions about the PrimeNet server, you can send e-mail to primenet@entropia.com.

The first time you run this program it will perform an hour long self-test to make sure the Lucas-Lehmer code is running properly on your system. If this self-test is interrupted, the full self-test will be run when you restart prime95. There are 16 different self-tests, one for each FFT size. You can run all 16 self-tests with Options/Self Test menu choice. This is not required.

If you have overclocked your machine, I recommend running the torture test for a couple of days. The longer you run the torture test

the greater the chance that you will uncover an error caused by overheating.

Depending on the exponent being tested, the program may decide that it would be wise to invest some time checking for small factors before

running a Lucas-Lehmer test. Furthermore, the program may start factoring exponents before a previous Lucas-Lehmer test completes. This is normal! The program will resume the Lucas-Lehmer test when the factoring completes.

You can configure this program to have different properties at different times of the day and/or to not run during certain times of the day.

Unfortunately, you must manual edit the prime.ini file. Let's say you want to install the program on a friend's machine and he runs a screen saver at night. He also runs a disk defragmenter at midnight on weekdays. This prime.ini file will run the program at a higher priority than his screen saver at night and on weekends. It also sleeps for an hour when his defragmenter starts running. Finally, at night fewer save files are generated to allow his disk to stay powered down longer.

UserID=foo

Other prime.ini entries

Time=1-5/8:30-17:30

Priority=1

DiskWriteTime=30

Time=1-5/1:00-8:30,1-5/17:30-24:00,6-7/0:00-24:00

Priority=5

DiskWriteTime=240

The 1-5 refers to days of the week, with Monday=1 and Sunday=7. The time portion refers to the hours of the day based on a 24-hour clock. You do not need to specify days of the week (e.g. Time=1-7/0:00-8:00 is the same as Time=0:00-8:00). Unpredictable results will occur if there are overlapping time intervals. Also note that any options that appear in the Time= sections should not appear earlier in the prime.ini file and you can no longer edit these options from the user interface.


FILE LIST

--------------

Name | Description
Readme.txt | This file.
prime95.exe | The program to factor and run Lucas-Lehmer tests on
 | Mersenne numbers.
rpcnet.dll | Communicates with the Internet PrimeNet server using RPCs.
httpnet.dll | Communicates with the Internet PrimeNet server using HTTP.
whatsnew.txt | A list of new features in prime95.exe.
prime.ini | A file containing your preferences. The menu choices
 | and dialog boxes are used to change your preferences.
local.ini | Like prime.ini, this file contains more preferences.
 | The reason there are two files is discussed later.
worktodo.ini | A list of exponents the program will be factoring
 | and/or Lucas-Lehmer testing.
results.txt | Prime95.exe writes its results to this file.
prime.log | A text file listing all messages that have been sent
 | to the PrimeNet server.
prime.spl | A binary file of messages that have not yet been sent to
 | the PrimeNet server.
pNNNNNNN & | Intermediate files produced by prime95.exe to resume
qNNNNNNN | computation where it left off.
mNNNNNNN | Intermediate files produced during P-1 factoring.
sress.txt | Contains information about stress testing your computer


SETTING UP A PROXY SERVER

-------------------------

For the latest information on this and other networking issues visit the FAQ at http://www.entropia.com/ips/faq.html

Create a file in the same local folder as Prime95.exe, called "primenet.ini". Add these text lines, substituting the appropriate proxy server URL and port:

[PrimeNet Proxy]

ProxyHost=http://proxy.megacorp.com:8080

If the proxy is secured by a userid/password, add the following two text lines, substituting the appropriate values:

ProxyUser=whatever_the_userid_is

ProxyPass=whatever_the_password_is

After the first time PrimeNet is contacted through a secure proxy, the proxy password is encoded and a new parameter 'ProxyMask=1' set. To change the password, simply change the ProxyPass= value, and either delete the ProxyMask text line or set ProxyMask=0.


TEST MENU

---------

The PrimeNet menu choice lets you configure the type of work you get from the server. The "Use PrimeNet..." option can be turned on to switch from the manual method to the automatic method. The "Request whatever..." box should be left checked. However, if you are running a slow computer and don't mind waiting several months for a single Lucas-Lehmer test to complete OR you are running a faster computer and would rather do factoring, then uncheck this box and choose a different type of work to do. The "Always have at least this many days of work queued up" value should be changed based on how often you connect to the Internet. As long as you connect at least once in the given time period, prime95 will have an uninterrupted stream of work. However, the program will not checkout more than 20 exponents no matter what this value is set at.

Fig. 1

The User Information menu choice lets you change your name and email address. Your name will be used in credits and "top producers" web pages. Your email address may be used to send you a newsletter once every few months. Select the "Receive occasional newsletters..." checkbox to enable these emails. The userid you use will appear in the status pages on the PrimeNet server. You can also set the ComputerID field if you have several computers and want to keep track of which computers produced which results. You can create a team by choosing the "Create a team..." checkbox. The user name you entered becomes the team name and a message is sent to the server which prevents the team name from changing. Thus, you can handout the userid and password for others to join your team and these team members are not able to accidentally or maliciously change the team name that appears on the statistics page.

Fig. 2

The Vacation/Holiday menu choice lets prime95 update the expected completion dates on the PrimeNet server. This will prevent one of your exponents from being reassigned while you're gone. Also, if you are taking a long vacation, prime95 will get extra exponents to test. For example, if you are leaving for a 6 week vacation, connect to the Internet and choose 42 days.

Fig. 3

The Status menu choice will tell you what exponents you are working on. It will also estimate how long that will take and your chances of finding a new Mersenne prime.

Fig. 4

The Continue menu choice lets you resume prime95 after you have stopped it.

The Stop menu choice lets you stop the program. When you continue, you will pick up right where you left off. This is the same as hitting the ESC key.

Fig. 5

Test Menu – General View


ADVANCED MENU

-------------

You should not need to use the Advanced menu. This menu choice is provided only for those who are curious to play with. To avoid confusion for novice users, all the choices in the Advanced menu have been grayed. Please read this section if you want to know what the Advanced menu choices do. To turn on the Advanced menu, use the Advanced Password dialog box and enter a value of 9876. Also note that many of the menu choices are grayed while testing is in progress. Choose Test/Stop to activate these menu choices.

The Test choice can be used to run a Lucas-Lehmer test on one Mersenne number. Enter the Mersenne number's exponent - this must be a prime number between 5 and 79300000.

Fig. 1

The Time choice can be used to see how long each iteration of a Lucas-Lehmer test will take on your computer and how long it will take to test a given exponent. For example, if you want to know how long a Lucas-Lehmer test will take to test the exponent 876543, choose Advanced/Time and enter 876543 for 100 iterations.

Fig. 2

The ECM choice lets you factor Mersenne numbers using the Elliptic Curve Method of factoring. Select a few exponents and bounds to factor from the http://www.mersenne.org/ecm.htm web pages.

Fig. 3

Note: You do not reserve exponents to work on, several people can do ECM factoring on the same exponent. The program uses a random number generator to select elliptic curves to test. You must email results to me at woltman@alum.mit.edu - PrimeNet does not support ECM factoring. WARNING: ECM does not adhere to the memory limits specified in the Options/CPU dialog box. ECM requires a minimum of 192 times the FFT size. Thus, ECM factoring of F20 which uses a 64K FFT will use a minimum of 192 * 64K or 12MB of memory. You can also edit the worktodo.ini file directly. For example:

ECM=751,3000000,0,100,0,0,0,0

The first value is the exponent. The second value is bound #1. The third value is bound #2 - leave it as zero. The fourth value is the number of curves to test. The fifth value is no longer used. The sixth value is the specific curve to test - it is only used in debugging. The seventh value is 0 for 2^N-1 factoring, 1 for 2^N+1 factoring. The eighth value is no longer used.

The P-1 choice lets you factor Mersenne numbers using the P-1 method of factoring. There is presently no web site which tells you how much P-1 factoring has already been done on exponents. You can also edit the worktodo.ini file directly. For example:

Pminus1=751001,1000000,0,0,0

The first value is the exponent. The second value is bound #1. The third value is bound #2. The fourth value is 0 for 2^N-1 factoring, 1 for 2^N+1 factoring. The fifth value is no longer used.

Fig. 4

Round off checking. This option will slow the program down by about 15%. This option displays the smallest and largest "convolution error". The convolution error must be less than 0.49 or the results will be incorrect. There really is no good reason to turn this option on.

The Priority menu is used to adjust the priority prime95 runs at. You should not need to change this. You might raise the priority if you (or your coworker) just cannot live without a screen saver (bad idea), or if you are running some ill-behaved program that is using CPU cycles for no good reason.

Fig. 5

The Manual Communication menu choice should only be used if the automatic detection of an Internet connection is not working for you. Using this option means you have to remember to communicate with the server every week or two (by using this same menu choice).

Fig. 6

The Unreserve Exponent choice lets you tell the server to unreserved an exponent you have been assigned. You might do this if a second computer you had been running GIMPS on died or if you had been assigned an exponent of one work type (such as a first-time-test) and now you have switched to another work type (such as 10,000,000 digit numbers). Any work you have done on the unreserved exponent will be lost.

Fig. 7

The Quit GIMPS menu choice is used when you no longer want this computer to work on the GIMPS project. You may rejoin at a later date. If you are a Prime Net user your unfinished work will be returned to the server. If you are a manual user, you need to send me email containing your results.txt file and a note saying you are quitting.

Fig. 8

Advanced Menu – General View


OPTIONS MENU

------------

The CPU menu choice lets you tell the program what kind of CPU you have and how much memory the program can use (see the earlier section on "Setting available memory". The program will normally figure out the CPU type for you. This information is used to give accurate time estimates in the Test/Status menu choice. It is also used, to choose between integer based factoring (Cyrix and 486) and floating point based factoring (Pentium and Pentium Pro). There are also some optimizations specific to the Pentium Pro and later CPUs in the Lucas-Lehmer primality test. If you have an AMD K5 or Cyrix M2 chip, choose Cyrix 6x86. Please see Setting Up Available Memory for more details.

Fig. 1

The Preferences menu choice lets you control how often a line is written to the main window and how often a line is written to the results file. It also lets you change how often intermediate files (to guard against power failure and crashes) are created. You can control how often the program checks to see if you are connected to the Internet. The program polls whenever it has new data to send to or work to get from the PrimeNet server. If you are low on disk space, you can select one intermediate file instead of two. However, if you crash in the middle of writing the one intermediate file, you may have to restart an exponent from scratch. You can also tell the program to be quiet, rather than beeping like crazy, if a new Mersenne prime is found. You can also make prime95 go idle whenever your laptop is running on battery power (does not work under Windows NT/2000/XP).

Fig. 2

The Benchmark choice times the program on several FFT lengths. You can then compare your computer's speed to others list at http://www.mersenne.org/bench.htm

The Torture Test choice will run a continuous self-test. This is great for testing machines for hardware problems.

The Tray Icon choice will cause prime95 to have a small icon on the taskbar when it is minimized. You can activate or hide the program by double-clicking on the small icon. If you place the cursor over the small icon, a tooltip will display the current status.

The No Icon choice is only enabled if the Advanced Menu is activated with the password. Using this menu choice means there will be no prime95 icon on the taskbar once you minimize the program - making it very hard to reactivate! You can reactivate the program by trying to execute prime95 a second time. Alternatively, you can turn this feature off by editing prime.ini and change the line "HideIcon=1" to "HideIcon=0", then reboot.

Checking the Start at Bootup menu choice will run prime95 at boot up for (Windows 95/98/Me) and at logon time (Windows NT/2000/XP). You will not need to place a shortcut to prime95 in the startup folder. The Prime95 value in following registry keys may be written to: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Fig. 3

Options Menu – General View


PROGRAM OUTPUT

--------------

On screen you will see:

Factoring M400037 to 2^54 is 3.02% complete. Clocks: 24235224=0.121 sec.

This means prime95 is trying to find a small factor of 2^400037-1. It is 3.02% of the way though looking at factors below 2^54. When this completes it may start looking for factors less than 2^55.

Iteration: 941400 / 1667747 [56.45%]. Per iteration time: 0.109 sec.

This means prime95 just finished the 941400th iteration of a Lucas-Lehmer primality test. The program must execute 1667747 iterations to complete the primality test. The average iteration took 0.109 seconds.

The results file and screen will include lines that look like:

M2645701 has a factor: 13412891051374103

This means to 2^2645701-1 is not prime. It is divisible by 13412891051374103.

M2123027 no factor to 2^57, WV1: 14780E25

This means 2^2123027-1 has no factors less than 2^57. The Mersenne number may or may not be prime. A Lucas-Lehmer test is needed to determine the primality of the Mersenne number. WV1 is the program version number. 14780E25 is a checksum to guard against email transmission errors.

M1992031 is not prime. Res64: 6549369F4962ADE0. WV1: B253EF24,1414032,00000000

This means 2^1992031-1 is not prime - a Lucas-Lehmer test says so. The last 64 bits of the last number in the Lucas-Lehmer sequence is 6549369F4962ADE0. At some future date, another person will verify this 64-bit result by rerunning the Lucas-Lehmer test. WV1 is the program version number. B253EF24 is a checksum to guard against email transmission errors. 1414032 can be ignored it is used as part of the double-checking process. The final 00000000 value is a set of 4 counters. These count the number of errors that occurred during the Lucas-Lehmer test.

M11213 is prime! WV1: 579A579A

This means 2^11213-1 is a Mersenne prime! WV1 is the program version number. 579A579A is a checksum to guard against email transmission errors.


POSSIBLE HARDWARE FAILURE

-------------------------

If the message, "Possible hardware failure, consult the readme file.", appears in the results file, then prime95's error-checking has detected a problem. After waiting 5 minutes, the program will continue testing from the last save file.

Could it be a software problem? If the error is ILLEGAL SUMOUT, then there is a good chance that this is a software problem. A device driver or VxD may not be saving and restoring FPU state correctly. The good news is that prime95 recovers very well from ILLEGAL SUMOUT errors. Try seeing if the problem occurs only when a specific device is active or a specific program is running.

The other two errors messages, SUMINP! = SUMOUT and ROUND OFF > 0.40 are caused by one of two things:

1. For reasons too complicated to go into here, the program's error checking is not perfect. Some errors can be missed and some correct results flagged as an error. If you get the message "Disregard last error..." upon continuing from the last save file, then you may have found the rare case where a good result was flagged as an error.

2. A true hardware error.

If you do not get the "Disregard last error..." message or this happens more than once, then your machine is a good candidate for a torture test. See the stress.txt file for more information.

Running the program on a computer with hardware problems may produce incorrect results. This won't hurt the GIMPS project since all results will be double-checked. However, you could be wasting your CPU time. If you are getting several errors during each primality test, then I recommend using your machine to factor Mersenne numbers or run less strenuous distributed computing projects at http://www.mersenne.org/.


Stress Testing Your Computer

BACKGROUND

-------------------------

Today's computers are not perfect. Even brand new systems from major manufacturers can have hidden flaws. If any of several key components such as CPU, memory, cooling, etc. are not up to spec, it can lead to incorrect calculations and/or unexplained system crashes.

Overclocking is the practice of trying to increase the speed of the CPU and memory in an effort to make a machine faster at little cost. Typically, overclocking involves pushing their machine to the limits and then backing off just a little bit.

For these reasons, both non-overclockers and overclockers need programs that test the stability of their computers. This is done by running programs that put a heavy load on the computer. Though not originally designed for this purpose, this program is one of a few programs that are excellent at stress testing a computer.

RESOURCES

-------------------------

This program is a good stress test for the CPU, memory, caches, CPU cooling, and case cooling. The torture test runs continuously, comparing your computer's results to results that are known to be correct. Any mismatch and you've got a problem! Note that the torture test sometimes reads from and writes to disk but cannot be considered a stress test for hard drives.

You'll need other programs to stress video cards, disk access, networking and other important components. In addition, this is only one of several good programs that are freely available. Some people report better finding problems only when running two or more stress test programs concurrently. You may need to raise prime95's priority when running two stress tests so that both programs get about 50% of the CPU time.

Forums are a great place to learn about available stability test programs and to get advice on what to do when a problem is found.

The currently popular stability test programs are (sorry, I don't have web addresses for these):

Ø Prime95 (this program's torture test)

Ø 3DMark2001

Ø CPU Stability test

Ø Sisoft sandra

Ø Quake

Ø Folding@Home

Ø Seti@home

Ø Genome@home

Several useful websites for help (look for overclocking community or forum):

Ø http://www.hardocp.com/

Ø http://www.anandtech.com/

Ø http://www.tomshardware.com/

Ø http://www.sharkyextreme.com/

Ø Also try the alt.comp.hardware.overclocking Usenet newsgroup.

Utility programs you may find useful (I'm sure there are others - look around):

Ø Motherboard monitor from http://mbm.livewiredev.com/

Ø Memtest86 from http://www.memtest86.com/

Ø TaskInfo2000 from http://www.iarsn.com/

WHAT TO DO IF A PROBLEM IS FOUND?

-------------------------

The exact cause of a hardware problem can be very hard to find.

If you are not overclocking, the most likely cause is an overheating CPU or memory SIMMs that are not quite up to spec. Try running MotherBoard monitor and browse the forums above to see if your CPU is running too hot. If so, make sure the heat sink is properly attached, fans are operational, and airflow inside the case is good. For isolating memory problems, try swapping memory SIMMs with a coworker's or friend's machine. If the errors go away, then you can be fairly confidant that memory was the cause of the trouble.

If you are overclocking then try increasing the core voltage, reducing the CPU speed, reducing the front side bus speed, or change the memory timings (CAS latency). Also try asking for help in one of the forums above – they may have other ideas to try.

CAN I IGNORE THE PROBLEM?

-------------------------

Ignoring the problem is a matter of personal preference. There are two schools of thought on this subject.

It is likely that most programs you run will not stress your computer enough to cause a wrong result or system crash. A few games stress your machine and a system crash could result. Stay away from distributed computing projects where an incorrect calculation might cause you to return wrong results. You are not helping these projects by returning bad data! In conclusion, if you are comfortable with a small risk of an occasional system crash then feel free to live a little dangerously!

The second school of thought is, "Why run a stress test if you are going to ignore the results?" These people want a guaranteed 100% rock solid machine. Passing these stability tests gives them the ability to run any program with confidence.

FREQUENTLY ASKED QUESTIONS

-------------------------

Q) My machine is not overclocked. If I'm getting an error, then there must be a bug in the program, right?

A) Unfortunately, no. The torture test is comparing your machines results against KNOWN CORRECT RESULTS. If your machine cannot generate correct results, you have a hardware problem.

Q) How long should I run the torture test?

A) I recommend running it for 24 hours. The program has been known to fail only after several hours of operation. In most cases though, it will fail within a few minutes on a flaky machine.

Q) Prime95 reports errors during the torture test, but other stability tests don't. Do I have a problem?

A) Yes, you've reached the point where your machine has been pushed just beyond its limits. Follow the recommendations above to make your machine 100% stable or decide to live with a machine that could have problems in rare circumstances.

Q) A forum member said, "Don't bother with prime95, it always pukes on me, and my system is stable!” What do you make of that?

Or

We had a server at work that ran for 2 MONTHS straight, without a reboot I installed Prime95 on it and ran it - a couple minutes later I get an error. You are going to tell me that the server wasn't stable?

A) These users obviously do not subscribe to the 100% rock solid school of thought. THEIR MACHINES DO HAVE HARDWARE PROBLEMS. But since they are not presently running any programs that reveal the hardware problem, the machines are quite stable. As long as these machines never run a program that uncovers the hardware problem, then the machines will continue to be stable.


RUNNING PRIME95 ON SEVERAL COMPUTERS

------------------------------------

The easiest way to do this is to first set up prime95 on one computer. Next copy all the files to the second computer. Delete the local.ini file and worktodo.ini files. These files contain information that is specific to the first computer. Start prime95 on the second computer and optionally use Test/User Information to give the second computer a unique computer ID. Repeat this process for all the computers you wish to run prime95 on.

If you do not follow the instruction above, be sure you use Test/User Information to give each computer the same userid and password. Failure to do this will result in all your work being credited to different user IDs.


Setting Up Available Memory

SETTING AVAILABLE MEMORY

------------------------

The P-1 factoring step prior to running a Lucas-Lehmer test is more effective if it is given more memory to work with. However, if you let the program use too much memory then the performance of ALL programs will suffer. The good news is that 98% of the time the program uses less than 8MB. In fact, the program will work just fine if you instruct the program to use only 8MB or less.

So how do you intelligently choose the available memory settings? Below are some steps you might take to figure this out:

1. Be conservative. It is better to set the available memory too low than too high. Setting the value too high can cause thrashing which slows down all programs. Remember, the program will only use the extra memory in stage 2 of P-1 factoring (about 12 hours a month).

2. Start with how much memory is installed in your machine. Allow a reasonable amount of memory for the OS and whatever background tasks you run (say 16 or 24MB). This represents the maximum value you should use. The program won't let you enter more than 90% of installed memory.

3. Assuming you run your machine 24 hours a day, what hours of the day do you not use your computer? Make these your nighttime hours and let the program use a lot of memory during these hours. But reduce this value if you also run batch jobs at night.

4. Factor in the information below about minimum, reasonable, and desirable memory amounts for some sample exponents.

Exponent

Minimum

Reasonable

Desirable

6,000,000

12MB

23MB

33MB

10,000,000

19MB

36MB

53MB

33,000,000

65MB

125MB

185MB

For example, my machine is a dual-processor with 128MB of memory. Each CPU runs an LL test on an exponent near 10 million. On the off chance that both CPUs wind up doing P-1 factoring at the same time, I don't want to set the available memory to more than half of the 128MB. I guess Windows NT can survive on 24MB of memory. Thus, I set the available memory to (128 - 24) / 2 or 52MB. This is my nighttime setting. During the day, I set the available memory to 24MB. I can always stop prime95 if it is doing P-1 factoring and I detect memory thrashing. More casual users will probably want to set the daytime memory to 8MB so they don't have to worry about it.

If at all in doubt, leave the settings at 8MB. The worst that will happen is you end up running a Lucas-Lehmer primality test when stage 2 of P-1 factoring would have found a factor.


COMMAND LINE ARGUMENTS

----------------------

-An This is used to run two or more copies of prime95 from the same directory. Using this command line argument causes Prime95 to use a different set of filenames for the INI files, the results file, the log file, and the spool file. Just use a different value of n for each copy of prime95.exe you start.

-Wdirectory This tells Prime95 to find all its files in a different directory than the executable.


Factoring

FACTORING DETAILS

--------------------

Forming a list

In dealing with Mersenne numbers, it is easy to prove that if 2P-1 is prime, then P must be a prime. Thus, the first step in the search is to create a list of prime exponents to test.

Trial Factoring

The next step is to eliminate exponents by finding a small factor. There are very efficient algorithms for determining if a number divides 2P-1. For example, let's see if 47 divides 223-1. Convert the exponent 23 to binary, you get 10111. Starting with 1, repeatedly square, remove the top bit of the exponent and if 1 multiply squared value by 2, then compute the remainder upon division by 47.

 | Remove | Optional |
Square | top bit | mul by 2 | mod 47
------------ | ------- | ------------- | ------
1*1 = 1 | 1 0111 | 1*2 = 2 | 2
2*2 = 4 | 0 111 | no | 4
4*4 = 16 | 1 11 | 16*2 = 32 | 32
32*32 = 1024 | 1 1 | 1024*2 = 2048 | 27
27*27 = 729 | 1 | 729*2 = 1458 | 1

Thus, 223 = 1 mod 47. Subtract 1 from both sides. 223-1 = 0 mod 47. Since we've shown that 47 is a factor, 223-1 is not prime.

One very nice property of Mersenne numbers is that any factor q of 2P-1 must be of the form 2kp+1. Furthermore, q must be 1 or 7 mod 8. A proof is available. Finally, an efficient program can take advantage of the fact that any potential factor q must be prime. The GIMPS factoring code creates a modified sieve of Eratosthenes with each bit representing a potential 2kp+1 factor. The sieve then eliminates any potential factors that are divisible by prime numbers below 40,000 or so. Also, bits representing potential factors of 3 or 5 mod 8 are cleared. This process eliminates roughly 95% of potential factors. The remaining potential factors are tested using the powering algorithm above.

Now the only question remaining is how much trial factoring should be done? The answer depends on three variables: the cost of factoring, the chance of finding a factor, and the cost of a primality test. The formula used is:

factoring_cost < chance_of_finding_factor * 2 * primality_test_cost

That is, the time spent factoring must be less than the expected time saved. If a factor is found we can avoid running both the first-time and double-check primality tests.

Looking at past factoring data we see that the chance of finding a factor between 2X and 2X+1 is about 1/x. The factoring cost and primality test costs are computed by timing the program. At present, the program trial factors to these limits:

Exponents    Trial
up to        factored to
---------    -----------
3960000         260
5160000         261
6515000         262
8250000         263
13380000       264
17850000       265
21590000       266
28130000       267
35100000       268
44150000       269
57020000       270
71000000       271
79300000       272

P-1 Factoring

There is another factoring method that GIMPS uses to find factors and thereby avoid costly primality tests. This method is called Pollard's (P-1) method. If q is a factor of a number, then the P-1 method will find the factor q if q-1 is highly composite - that is it has nothing but small factors. This method when adapted to Mersenne numbers is even more effective. Remember, that the factor q is of the form 2kp+1. It is easy to modify the P-1 method such that it will find the factor q whenever k is highly composite.

The P-1 method is quite simple. First, pick a bound B1. P-1 will find the factor q as long as all factors of k are less than B1 (k is called B1-smooth). Second, compute E - the product of all primes less than B1. Third, compute x = 3E*2*P. Finally, check the GCD (x-1, 2P-1) to see if a factor was found.

There is an enhancement to Pollard's algorithm that uses a second bound B2 and will find the factor q if k has just one factor between B1 and B2 and all remaining factors are below B1.

GIMPS has used this method to find some impressive factors. For example:

                    22944999-1 is divisible by 314584703073057080643101377.
                    314584703073057080643101377 is 2 * 53409984701702289312 * 2944999 + 1.
                    The value k, 53409984701702289312, is very smooth:
                    53409984701702289312 = 25 * 3 * 19 * 947 * 7187 * 62297 * 69061

So how does GIMPS intelligently choose B1 and B2? We use a variation of the formula used in trial factoring. We must maximize:

                    chance_of_finding_factor * 2 * primality_test_cost - factoring_cost

The chance of finding a factor and the factoring cost both vary with different B1 and B2 values. Dickman's function (see Knuth's Art of Computer Programming vol. 2) is used to determine the probability of finding a factor that is k is B1-smooth or B1-smooth with just one factor between B1 and B2. The program tries many values of B1 and if there is sufficient available memory several values of B2, selecting the B1 and B2 values that maximize the formula above.


LUCAS-LEHMER DETAILS

--------------------

This program uses the Lucas-Lehmer primality test to see if 2**p-1 is prime.

The Lucas sequence is defined as:

S (1) = 4

S (n+1) = (S (n)**2 - 2) mod (2**p - 1)

2**p-1 is prime if and only if S (p-1) = 0.

This program uses a discrete weighted transform (see Mathematics of Computation, January 1994) to square numbers in the Lucas-Lehmer sequence.

The Lucas-Lehmer primality test is remarkably simple. It states that 2P-1 is prime if and only if S (p)-2 is zero in this sequence: S (0) = 4, S (N) = S (N-1)**2 - 2 mod 2P-1. For example, to prove 27 - 1 is prime:

                                         S (0) = 4
                                         S (1) = 4 * 4 - 2 mod 127 = 14
                                         S (2) = 14 * 14 - 2 mod 127 = 67
                                         S (3) = 67 * 67 - 2 mod 127 = 42
                                         S (4) = 42 * 42 - 2 mod 127 = 111
                                         S (5) = 111 * 111 - 2 mod 127 = 0

To implement the Lucas-Lehmer test efficiently, one must find the fastest way to square huge numbers modulo 2P-1. Since the late 1960's the fastest algorithm for squaring large numbers is to split the large number into pieces forming a large array, then perform a Fast Fourier Transform (FFT), a squaring, and an Inverse Fast Fourier Transform (IFFT). See the "How Fast Can We Multiply?" section in Knuth's Art of Computer Programming vol. 2. In a January, 1994 Mathematics of Computation article by Richard Crandall and Barry Fagin titled "Discrete Weighted Transforms and Large-Integer Arithmetic", the concept of using an irrational base FFT was introduced. This improvement more than doubled the speed of the squaring by allowing us to use a smaller FFT and it performs the mod 2P-1 step for free. Although GIMPS uses a floating point FFT for reasons specific to the Intel Pentium architecture, Peter Montgomery showed that an all-integer weighted transform can also be used.

As mentioned in the last paragraph, GIMPS uses floating point FFTs written in highly pipelined, cache friendly assembly language. Since floating point computations are inexact, after every iteration the floating point values are rounded back to integers. The discrepancy between the proper integer result and the actual floating-point result is called the convolution error. If the convolution error ever exceeds 0.5 then the rounding step will produce incorrect results - meaning a larger FFT should have been used. One of GIMPS' error checks is to make sure the maximum convolution error does not exceed 0.4. Unfortunately, this error check is fairly expensive and is not done on every squaring. There is another error check that is fairly cheap. One property of FFT squaring is that:

                    (sum of the input FFT values)2 = (sum of the output IFFT values)

Since we are using floating-point numbers we must change the "equals sign" above to "approximately equals". If the two values differ by a substantial amount, then you get a SUMINP != SUMOUT error as described in the readme.txt file. If the sum of the input FFT values is an illegal floating point value such as infinity, then you get an ILLEGAL SUMOUT error. Unfortunately, these error checks cannot catch all errors, which brings us to our next section.

What are the chances that the Lucas-Lehmer test will find a new Mersenne prime number? A simple approach is to repeatedly apply the observation that the chance of finding a factor between 2X and 2X+1 is about 1/x. For example, you are testing 210000139-1 which trial factoring has proved there are no factors less than 264. The chance that it is prime is the chance of no 65-bit factor * chance of no 66-bit factor * ... * chance of no 5000070 bit factor. That is:

                    64   65         5000069
                    -- * -- * ... * -------
                    65   66         5000070

This simplifies to 64 / 5000070 or 1 in 78126. The general formula is how_far_factored divided by (exponent divided by 2). There are more rigorous and accurate analyses, but even these are unproven.


DOUBLE CHECKING

--------------------

To verify that a first-time Lucas-Lehmer primality test was performed without error, GIMPS runs the primality test a second time. During each test, the low order 64 bits of the final S (P-2) value, called a residue, are printed. If these match, then GIMPS declares the exponent properly double-checked. If they do not match, then the primality test is run again until a match finally occurs.

GIMPS goes a bit further to guard against programming errors. Prior to starting the Lucas-Lehmer test, the S (0) value is left shifted by a random amount. Each squaring just doubles how much we have shifted the S value. Note that the mod 2P-1 step merely rotates the p-th bits and above to the least significant bits, so there is no loss of information. Why do we go to this trouble? If there were a bug in the FFT code, then the shifting of the S values insures that the FFTs in the first primality test are dealing with completely different data than the FFTs in the second primality test. It would be near impossible for a programming bug to produce the same final 64 bit residues.

Historically, the error rate for a Lucas-Lehmer test is a little over one percent.


THANKS

------

HAPPY HUNTING AND THANKS FOR JOINING THE SEARCH,

George Woltman

woltman@alum.mit.edu


Success

GIMPS SUCCESS STORIES

-------------

GIMPS has discovered four Mersenne primes so far. On June 1st 1999, Nayan Hajratwala found the current world record prime, 26972593-1. On January 27th 1998, Roland Clarkson found the previous world record prime, 23021377-1. On August 24th 1997, Gordon Spence discovered the prime 22976221-1. In November 1996, Joel Armengaud uncovered the prime 21398269-1. Could you be next?


NEWSLETTERS

-------------

Newsletters detailing the history of GIMPS are now available. Newsletters are dated: February 24, 1996, February 26, 1996, April 12, 1996, June 11, 1996, July 31, 1996, September 3, 1996, November 1, 1996, November 23, 1996, January 15, 1997, March 11, 1997, May 26, 1997, September 1, 1997, February 2, 1998, May 22, 1998, April 3, 1999, July 6, 1999, October 4, 1999. You can sign up to have future newsletters e-mailed to you.


New features in Version 21 of Prime95

New features in Version 21.2 of prime95.exe

-------------------------------------------

1. The program now uses the SSE2 instructions introduced on the Pentium 4 CPU. This version is about 3 times faster than the previous version on a P4.

2. The program now uses the prefetch instructions on the Celeron 2, Pentium 3, and all Athlon CPUs. This results in about a 20% performance boost on these machines.

3. Process priority is now set to idle. Microsoft documentation says that an idle thread priority overrides process priority. The program's priority scheme has always worked well. However, several Win2K users have reported that the program works better if the process priority is also set to idle.

4. The program now delays calculations until 90 seconds after bootup. This lets your machine boot up as fast as possible. This can be changed, see undoc.txt.

5. The default crossover between double-check assignments and first-time tests has been increased to a 400 MHz PII.

6. After 5 1/2 years, a help file now exists! It is HTML Help which may have problems on older Windows machines. If so, try downloading hhupd.exe from Microsoft's web site.

7. The program used to do factoring and P-1 testing on new exponents before completing LL tests on older exponents. This was confusing to many. The program now processes the worktodo.ini file in sequential order. See undoc.txt on how to restore the old behavior.

8. Error messages such as ILLEGAL SUMOUT, SUMINP != SUMOUT, etc. are no longer sent to the server since the final result contains a count of how many errors occurred during the LL test.

9. Some of the FFT crossover points have changed slightly.

10. Test/Status now outputs the day of the week each work item will complete.

11. Interim output lines have changed - hopefully, so they are more useful especially to newbies. By default, output lines no longer contain the clocks count. Lines now contain a timestamp. Benchmark timings are now output in milliseconds. These defaults can be changed using options in undoc.txt.

12. A new welcome screen for new users will encourage stress testers to use the program without reserving exponents.

13. There is now a menu choice that lets you unreserve a specific exponent. This is for knowledgeable users only. You might do this if the server assigned a small exponent and you'd rather be testing larger ones. Or the prime95 you set up on another machine had a hard drive failure.

14. The Windows 9x Service menu choice has been replaced by the more general Start at Bootup menu choice. This choice now sets registry entries to auto start prime95 on any Windows machine. WARNING: Using this option will delete any StartUp menu shortcuts so the registry entry and startup menu do not both try to start prime95.

15. Prime95 will now ask for confirmation if you enter a CPU speed that differs from the computed CPU speed by more than 4%.

16. The self-test menu choice was deleted - use the torture test instead.

17. A benchmark menu choice has been added.

18. The torture test code now includes more FFT lengths including smaller ones that run completely in the L2 cache, which may increase CPU temperatures. Each FFT size is tested for 15 minutes by default.

19. There are now several options in the undoc.txt for fine-tuning the torture test's behavior.


New features in Version 20 of Prime95

New features in Version 20.6 of prime95.exe

-------------------------------------------

1. A crash bug was fixed. If you did P-1 factoring followed by trial factoring, then if you found a factor unallocated memory was accessed usually resulting in a crash.

New features in Version 20.5 of prime95.exe

-------------------------------------------

1. A rare error was fixed. When the memory settings changed during the GCD step in P-1 or ECM factoring, then a spurious "ERROR: Factor does not divide N!" error was raised.

New features in Version 20.4 of prime95.exe

-------------------------------------------

1. If stage 2 of P-1 was postponed because of insufficient memory, the program did not restart stage 2 when nighttime started. This bug was fixed.

2. By default, PII-300's and faster get first-time LL tests, P-90 and faster get double-checking work, and all slower machines get factoring work.

3. An ECM bug during stage 2 init on huge exponents caused false ILLEGAL SUMOUT errors. This bug was fixed.

New features in Version 20.3 of prime95.exe

-------------------------------------------

1. Another fairly uncommon ECM bug was fixed. The bug caused "Factor does not divide N!" errors.

2. A couple of minor bugs in computing the optimal P-1 bounds to use prior to a Lucas-Lehmer test were fixed. The program now does a better job at estimating the memory required in P-1 stage 2. Finally, although P-1 stage 2 working set size is unchanged, the program allocates less memory in stage 2.

3. Prime95 no longer searches for a smaller factor when trial factoring discovers a factor. The reasons are two-fold.

a. Version 19 had a bug where stopping and restarting the program bypassed the search for smaller factors. Thus, my database may already be missing smaller factors.

b. As we factor larger exponents to a deeper depth it may no longer be a quick job to determine if there are smaller factors. Note, that version 20 will still look for smaller factors if you are looking for factors below 2^60 with the FactorOverride option in undoc.txt.

4. The undocumented AMPM feature controls how times are formatted in the Options/CPU dialog box.

New features in Version 20.2 of prime95.exe

-------------------------------------------

1. If P-1 stage 1 completed and there was not enough memory to start stage 2 immediately, then an incorrect save file was generated. This bug was introduced in version 20.1. Upon restart of the P-1 factoring job a crash or other unpredictable behavior was possible. This bug was fixed and this version has special code to properly read these incorrect save files.

2. P-1 will restart any time the memory settings change. This is done so that the optimal P-1 bounds can be computed with the new memory settings.

3. A bug in ECM testing was fixed.

New features in Version 20.1 of prime95.exe

-------------------------------------------

1. A bug in the new GCD code was fixed.

2. Timings in the P-1 stage are no longer cumulative. There is a new feature in undoc.txt for those that prefer cumulative timings.

3. Messages are now output prior to beginning the lengthy GCD.

4. The FactorOverride undocumented feature (not for use with PrimeNet) now supports factoring to a deeper level than prime95 would ordinarily factor.

5. A bug where the worktodo.ini entry was not removed if P-1 found a factor was fixed.

6. If P-1 finds a factor it now deletes any Lucas-Lehmer intermediate files.

7. A crash bug when continuing from a P-1 stage 2 save files with different available memory parameters was fixed.

8. Resuming an LL test now outputs a line to the screen.

9. The Test/Status display now correctly calculates the estimated completion time for an LL test when P-1 factoring is in progress.

10. Advanced/Factor menu choice was deleted.

11. A bug in computing P-1 stage 2 percentage complete was fixed.

New features in Version 20.0 of prime95.exe

-------------------------------------------

1. The program now does some P-1 factoring prior to running first time and double-checking Lucas-Lehmer tests. This will increase overall GIMPS throughput. If you install version 20 in the middle of an LL test the program will run the P-1 step if the LL test is less than 50% complete.

2. The Options/CPU dialog box now asks how much memory the program can use during the P-1 factoring. See the "Setting Available Memory" section in the readme.txt file.

3. Stage 1 of P-1 factoring is now faster.

4. The GCD used in P-1 and ECM factoring is now faster.

5. The Test/Manual Operation menu choice has been deleted.

6. The memory options in P-1 and ECM dialog boxes have been deleted.

7. The "send new completion dates" checkbox was moved from the Test/PrimeNet dialog box to the Advanced/Manual Communication dialog box.

8. A bug in estimating time remaining for a factoring job was fixed.

9. AdvancedFactor now writes a line to the worktodo.ini - just like all the other work types.

10. ECM and P-1 are now consistent with Lucas-Lehmer testing in the use of the "Iterations between screen outputs" setting. An iteration is defined as the time it takes to do a squaring. If you are doing ECM on small exponents you will probably want to increase this setting.


New features in Version 19 of Prime95

New features in Version 19.2 of prime95.exe

-------------------------------------------

1. A bug in factoring exponents above 35.79 million was fixed.

New features in Version 19.1 of prime95.exe

-------------------------------------------

1. A new undocumented feature, Stage1 GCD, lets you speed up P-1 tests on large exponents - see undoc.txt for details.

2. K6 CPUs now default to the Pentium code path instead of the Pentium Pro code path. This is faster on the K6.

3. The rolling average formula was adjusted to work better on machines that are not on 24 hours a day.

New features in Version 19.0 of prime95.exe

-------------------------------------------

1. Faster - in some cases as much as 10% faster!. The FFTs were recoded for improved memory and TLB efficiency. Furthermore, optimizations specific to the Pentium Pro and later processors were added.

2. New FFT lengths. The program can now test exponents as large as 79.3 million. Also, smaller FFT lengths are supported for use in ECM and P-1 factoring.

3. More conservative FFT breakpoints. This could actually result in some exponents being slower to test in this version. However, the chance of a fatal rounding error has been reduced.

4. P-1 factoring has been added. Although it is not very practical for large exponents because of a slow GCD routine, it can be used to find new factors of exponents below a few million or so.

5. ECM can now run on large exponents. Once again, the slow GCD routine and high memory requirements might make this impractical for large exponents.

6. ECM and P-1 factoring now support save files. Very handy on lengthy runs. The count of completed ECM curves is maintained in the save file instead of the worktodo.ini file.

7. ECM and P-1 factoring lets you specify the amount of memory to use. In some cases, more memory can improve execution speed slightly.

8. A bug in guessing the CPU speed on initial install has been fixed.

9. The preferences dialog now has an option to pause prime95 when a laptop is running on its battery.

10. Error checking has been improved slightly.

11. Factoring is now "layered". That is, prime95 now factors to 2^50, then 2^51, 2^52, and so forth up to the appropriate limit. The factoring output lines have been changed to show percent complete in the current "layer".

12. A bug in running two or more self or torture tests in the same directory has been fixed.

13. Trial factoring above 2^64 is now supported.

14. More trial factoring is now done to take into account the cost of double-checking.

15. Title now contains percent complete when LL testing. By default, the percent complete value is now displayed to 2 decimal places. You can change this by setting PercentPrecision in prime.ini to a value between 0 and 6.

16. Affinity and service name settings moved from prime.ini to local.ini file. Prime95 will automatically move these settings for you.

17. An option to get only 10,000,000 digit numbers to run primality tests on has been added to the Test/Primenet dialog box. See http://www.mersenne.org/prize.htm for rules on claiming the EFF award for finding a 10,000,000 digit prime.

18. The Advanced/Clear primes menu choice has been deleted.

19. The prime95 icon turns yellow when the program is idle. After an error such as ILLEGAL SUMOUT, the icon will blink for 10 seconds.

20. The User Information dialog box allows you to request newsletters and form a team user ID where the team members cannot alter the team name.

21. A bug in the reporting of error counts in the results.txt file has been fixed.

22. The server can now broadcast important messages to the prime95 client. Prime95 will blink the icon until prime95 is activated and then it will display the message.

23. A computer ID will be generated for computers that do not have one. If you want to assign your own computer ID, please try to make each computer ID using the same user ID unique.


New features in Version 18 of Prime95

New features in Version 18.1 of prime95.exe

-------------------------------------------

1. Added code so that server can distinguish between a v17 and v18 client.

2. Only v17 save files above 4194304 are deleted.

New features in Version 18.0 of prime95.exe

-------------------------------------------

1. Bug fixed in Lucas-Lehmer testing of exponents above 4194304.


New features in Version 17 of Prime95

New features in Version 17.2 of prime95.exe

-------------------------------------------

1. Faster 2^N+1 ECM factoring.

New features in Version 17.1 of prime95.exe

-------------------------------------------

1. The -T command line switch has been deleted.

2. You can now fine tune your control of the program by adding Time= lines to your prime.ini file - see the readme.txt file.

3. ECM factoring for 2^N+1 is now available.

4. By default, ECM factoring stops if a factor is found for exponents above 5825 and continues (if the cofactor is composite) for exponents below 5825. You can override this behavior by setting ContinueECM=0 or 1 in prime.ini.

New features in Version 17.0 of prime95.exe

-------------------------------------------

1. Prime95 can now be used to double-check its own results.

2. Machines less powerful than a P133 will default to double-checking assignments.

3. The total number of errors that occur during the Lucas-Lehmer test are now output in results.txt.


New features in Version 16 of Prime95

New features in Version 16.5 of prime95.exe

-------------------------------------------

1. A new httpnet.dll can provide Scott Kurowski with debugging information. Simply create a primenet.ini file with these lines:

[Debug]

PacketLog=1

Output file is pnHttp.txt.

2. The old network retry time has been replaced by two settings. The modem retry time (default 2 minutes) controls how often prime95 polls your modem to see if you are connected to the Internet. The network retry time (default 60 minutes) controls how long prime95 waits after a failed attempt to contact the server.

3. A timestamp and program version number is written to the prime.log file.

4. You can now switch between HTTP-based and RPC-based PrimeNet protocols from the Test/Primenet dialog box.

New features in Version 16.4 of prime95.exe

-------------------------------------------

1. Lucas-Lehmer testing output now shows percent complete.

2. Windows NT users can now set processor affinity on multi-CPU systems.

3. ECM factoring is available for small exponents. See http://www.mersenne.org/ecm.htm for a list of exponents that need factoring.

4. A bug that prevented 486 & Cyrix machines from factoring above 2^62 has been fixed.

5. The LockUserInfo feature no longer sends user info every time prime95 starts up.

6. A bug in setting minimized or maximized window in a shortcut to prime95 is fixed.

7. Test/Status now shows expected completion dates.

New features in Version 16.3 of prime95.exe

-------------------------------------------

1. The LockUserInfo=1 setting is now sent to the server so that no member of a team can accidentally transfer the credit for work previously performed by the team.

New features in Version 16.2 of prime95.exe

-------------------------------------------

2. Bug in calculating estimated time to factor a number has been fixed.

New features in Version 16.1 of prime95.exe

-------------------------------------------

3. Prime95 can now test exponents up to 20.5 million.

4. Prime95 can now find factors up to 2^64.

5. The program now reports to the PrimeNet server new completion dates every 28 days (actually user adjustable from 1 to 60 days). This will improve the reclaiming of exponents that are not being actively tested.

6. The program now reports the current iteration number to the server for more informative status reports.

7. Intermediate files are now less likely to fail. If an error occurs during the writing of an intermediate file, the program continues on trying to write the intermediate file every 10 minutes.

8. A bug in the rolling average code has been fixed. Prime95 now modifies the rolling average when factoring too.

9. The prime.log file is now limited in size to 256K bytes.

10. The user information dialog box now has a checkbox to tell the server not to send email.

11. Setting LockUserInfo=1 in prime.ini will make the user information dialog box inaccessible.

12. Trying to run a second copy of prime95 will now start the already running copy of prime95. This makes the Hide Icon feature a bit more useful.


New features in Version 15 of Prime95

New features in Version 15.4 of prime95.exe

-------------------------------------------

1. Quit GIMPS choice moved to the Advanced Menu (so novice users do not confuse it with exit).

2. A bug in httpnet.dll was fixed. It now works for even more proxy servers and firewalls.

New features in Version 15.3 of prime95.exe

-------------------------------------------

1. More errors in detecting whether you are connected to the Internet have been fixed.

2. Minor bugs fixed.

New features in Version 15.2 of prime95.exe

-------------------------------------------

1. A new primenet.dll that uses HTTP to communicate with the server is available. This should allow prime95 to work in environments that have firewalls installed.

2. An option that allows you to write a progress line to the results file every N iterations is available.

3. A dialog box lets you tell prime95 when you go on vacation. This will prevent the server from reassigning your exponents when you're on an extended vacation.

4. Some errors in detecting whether you are connected to the Internet have been fixed.

5. An option for you to initiate all contact with the Primenet server is now available (in case I didn't find all the problems mentioned in number 4 above!)

6. Support for Windows 95 services has been added.

7. To get Windows 95 service support to work, prime95 now changes its working directory to the same directory that prime95.exe is located. If you must run prime95 from a different directory than the rest of the files, then use new -W switch.

New features in Version 15.1 of prime95.exe

-------------------------------------------

1. Better support for dial-up users to the Internet.

2. Prime95 no longer contacts the PrimeNet server at startup.

3. Prime95 will no longer let you select Pentium Pro or Pentium CPU type unless your CPU supports the process-specific instructions.

4. Bug where AMD-K6s were using the Pentium Pro factoring code (and crashing because of it) is fixed.

New features in Version 15.0 of prime95.exe

-------------------------------------------

1. Prime95 can now contact a central server to get exponents to test, report results, and change your email address. No database is required! The old manual reservation system is still supported. This has led to a major reworking of the user interface. See the readme file for more details.

2. The Pentium factoring code (up to 60 bit factors) is about 4.5% faster.

3. You can now change how often prime95 saves intermediate files to disk.

4. You can now select one save file or two.

5. The auto-continue option is gone. The program now does an auto-continue by default.

6. -Q switch removed. The preferences dialog box lets you select whether the program should be quiet if a new Mersenne prime is found.

7. -H switch removed. Use the Hide Icon menu choice instead.

8. -P switch removed. The advanced menu now has a dialog box that lets you change the priority.

9. -A switch added. This allows you to run multiple copies of prime95 from the same directory. This is useful on multi-processor machines.

10. Prime95 no longer uses a prime95.ini file in the Windows directory. All information is kept in 3 local ini files: prime.ini, local.ini, and worktodo.ini. Eventually, all ports to other operating systems will use these same ini files.

11. The CPU dialog box now has an entry for the AMD K6 and an entry for how many hours per day you expect to be running the program.

12. The time estimate in the Status dialog box now takes into account the time you've invested in the current Lucas-Lehmer test. It also takes into account how many hours per day you are running the program. It also adjusts its time estimate if your computer seems to be running faster or slower than expected.

13. Timestamps in the results.txt file.

14. The results file is now named results.txt, not results.


New features in Version 14 of Prime95

New features in Version 14.3 of prime95.exe

-------------------------------------------

1. The Pentium Pro factoring code is nearly twice as fast compared to version 14.2.

New features in Version 14.2 of prime95.exe

-------------------------------------------

1. Corrected floating point round-off bugs in the factoring code that affected testing factors larger than 2^59.

2. The Pentium factoring code is 5-10% faster.

3. When an error is detected the program now waits 5 minutes before restarting from the last save file.

4. The detection of corrupt save files has improved.

5. The Advanced/Time feature now displays the estimated time to test an exponent.

New features in Version 14.1 of prime95.exe

-------------------------------------------

1. The Pentium factoring code is 5% faster.

New features in Version 14.0 of prime95.exe

-------------------------------------------

1. The program can now check exponents up to 5.26 million! To test these big exponents, you will need a new database and great patience.

2. The per-iteration error checking code has been improved. It will detect more errors and automatically restart from the previous save file.

3. Options/Tray Icon can be used to have prime95 occupy just a small part of the taskbar.

4. Options/No Icon can be used to have prime95 removed from the taskbar. Read the warnings in the readme file before using this feature.

5. Options/Preferences now has a checkbox to let you send results to a file called "results.txt" rather than "results".

6. Options/CPU now has a Cyrix checkbox. There is no Cyrix-specific code. This change provides better estimates in Range/Status.

7. Options/Torture Test runs a continuous Self Test. This is great for "burning in" a new machine.

8. The Round-off checking menu choice (which should be turned off) was moved to the Advanced menu.

9. The estimates in Range/Status have been changed slightly. Hopefully, these new estimate are a little more accurate.

10. The Options/Self Test option now takes nine hours.


New features in Version 13 of Prime95

New features in Version 13.2 of prime95.exe

-------------------------------------------

1. Minor adjustments made to the per-iteration error checking code. It was occasionally raising a FATAL ERROR when it should not have been.

New features in Version 13.1 of prime95.exe

-------------------------------------------

1. Faster! Prime now supports a wider variety of FFT run lengths. This means Lucas-Lehmer tests on exponents between 1.33M and 2.33M will be 13 to 40% faster.


New features in Version 12 of Prime95

New features in Version 12.4 of prime95.exe

-------------------------------------------

1. A minor bug in the Pentium factoring code has been fixed.

2. When creating an intermediate file, instead of deleting the previous intermediate file it is renamed just in case there is a machine crash before the new intermediate file is written to disk.

3. Factoring is now 6% faster.

4. The program is now "network-enabled". See network.txt for more details.

New features in Version 12.3 of prime95.exe

-------------------------------------------

1. The -h command line argument is now available.

2. Save files are generated every half-hour when factoring.

New features in Version 12.2 of prime95.exe

-------------------------------------------

1. A minor bug in the factoring code has been fixed.

New features in Version 12.1 of prime95.exe

-------------------------------------------

1. Command line arguments are now available to help you run the program on your co-worker's machines!

New features in Version 12 of prime95.exe

-----------------------------------------

1. The program is faster! Expect to see improvements of 8 to 15%. The faster your CPU, the more improvement you should notice. The program also uses less memory.

2. There are now 5 separate hour-long self tests - one for each possible FFT length. You will run one of the new one-hour self tests even if you passed the self test in the previous version.

3. The program can now test exponents as high as 2,630,000!

4. The user interface has changed.

a. You no longer enter a 3 or 4 digit range. Rather you enter an explicit starting and stopping point. For example, in the previous version you would enter 1234 for the range. In this version you enter a starting point of 1234000 and an ending point of 1234999. This makes it much easier to "check out" just part of a range. It also makes it easier to split a range among two or more machines.

b. The "Only Find Factors" checkbox has been replaced. Use the Range / Factor menu choice instead.

c. The Range / Double Check menu choice has been added for those of you who are double checking previously checked exponents.

d. The Advanced / Password menu choice is now used to activate the rest of the Advanced menu.

5. The program now performs two new error checks every iteration! These will help guard against memory errors or "cosmic ray" errors. These new checks will not catch all such problems but should catch the vast majority.


New features in Version 10 of Prime95

New features in Version 10 of prime95.exe

-----------------------------------------

1. The program will now undergo an hour long self-test before running any Lucas-Lehmer tests in your selected range. This self-test is also available from the menus. You might want to run this when you install new hardware or device drivers.

2. You can now get a status report on your range. Choose Range Status from the menus to get a report on the number of Mersenne numbers left to test, expected time to completion, etc. This information is also displayed whenever you choose a new range with Range Start or Range Next.

3. The File menu has been renamed Range - it seems clearer to beginners.

4. The Advanced menu has been disabled. You must read the readme.txt file to learn how to activate it. This is designed to keep novice users out of trouble. There is no reason, other than curiosity, for you to use any of the Advanced menu choices.

5. A bug in stopping and continuing when factoring in Version 8 has been fixed.


New features in Version 8 of Prime95

New features in Version 8 of prime95.exe

----------------------------------------

1. Factoring speed has been doubled for Pentiums. 486 machines will notice a 15% improvement when factoring.

2. The program will now automatically determine your CPU type and speed. This information is used in choosing the optimal factoring algorithm.


Undocumented Features

----------------------

This file lists the previously undocumented features available in the program. These features may change or be discontinued at any time. Their use is totally unsupported.

· In prime.ini you can force the program to use different filenames for 6 files. This is in response to a user that is running security software that prevents writing to any file with a .ini extension. There may well be other uses. You can also change the working directory (identical to the -W command line argument).

prime.ini=your_filename

local.ini=your_filename

worktodo.ini=your_filename

prime.log=your_filename

prime.spl=your_filename

results.txt=your_filename

WorkingDir=your_directory_name

· You can change the program's behavior at various times of the day. See the Time= option described in the readme.txt file.

· You can limit how far the program tries to factor a number. This feature should not be used with the Primenet server. To prevent the factoring code from factoring higher than 2^n, enter this in prime.ini:

FactorOverride=n

· You can force the Options/CPU dialog to display times using AM/PM or a 24-hour clock format. Otherwise, the program will make its best guess as to the proper format. Add this line to prime.ini:

AMPM=n

where n is 1 for AM/PM formatting and n is 2 for 24-hour formatting.

· You can adjust how many decimal digits of precision are displayed in lines output to the screen. In prime.ini enter a value between 0 and 6:

PercentPrecision=n

· You can choose whether the program uses the system clock or the read timestamp counter instruction (RDTSC) to time events. In prime.ini, enter 0 for using the system clock, 1 for using RDTSC but not outputting clock counts, and 2 for using RDTSC and outputting clock counts.

RdtscTiming=n

· You can alter the way the program outputs timings. In prime.ini set:

TimingOutput=n

Where n=1 for seconds with 3 digits of precision, n=2 for milliseconds with 1 digit of precision, n=3 for milliseconds with 2 digits of precision, n=4 for milliseconds with 3 digit of precision. You can turn off the outputting of timestamps to the screen. In prime.ini:

TimeStamp=0

· You can have the timings that are output to the screen be cumulative (from program restart or start of a new exponent) rather than resetting after each screen output. Add this line to prime.ini:

CumulativeTiming=1

· The program normally will not start any calculation until 90 seconds after a reboot. This is done so that your normal boot up procedure can be as fast as possible. You can control how long this delay is by adding this line to prime.ini, where n is the number of seconds to sleep:

BootDelay=n

  • The program supports 4 different code paths for LL testing depending on the CPU type. It also has a few different factoring code paths. You can force the program to choose a specific code path by setting the proper combination of these settings in local.ini:

CpuSupportsRDTSC=0 or 1

CpuSupportsCMOV=0 or 1

CpuSupportsPrefetch=0 or 1

CpuSupportsSSE=0 or 1

CpuSupportsSSE2=0 or 1

This shouldn't be necessary though. Setting the CPU type in Options/CPU is the preferred method. There is one IMPORTANT EXCEPTION. If you have a Celeron the program distinguishes between a Celeron 1 and a Celeron 2 by the clock speed you enter. Anything above 533 is assumed to be a Celeron 2. If you have a Celeron 1 chip running above 533 MHz, then set CpuSupportsPrefetch=0. If you have a Celeron 2 and it is running at 533 MHz or less, then set CpuSupportsPrefetch=1.

  • The program used to do factoring and P-1 testing on exponents even if they were not the first entry in worktodo.ini. The rationale was that if the number had a factor, the server could be contacted and another exponent reserved. This avoids the possible scenario where the LL test for the first worktodo.ini line completes, a factor is quickly found for the second line in worktodo.ini and the computer now sits idle until the server can be contacted. This behavior was confusing, especially to newcomers. To restore this old behavior add this line to prime.ini:

SequentialWorkToDo=0

One added benefit is time estimates in Test/Status will be more accurate because we'll know no factors will be found and the LL test must be run.

· The program will restrict how many exponents can be added to worktodo.ini. To override this, change prime.ini:

MaxExponents=n

· By default, ECM will stop when a new factor is found for exponents above 5825. You can have ECM always stop or always continue searching for factors by using a value of zero or one in prime.ini:

ContinueECM=n

· You can skip the GCD in stage 1 of P-1 factoring with this prime.ini setting:

Stage1GCD=0

· You can prevent users from accessing the Test/User Information dialog box. In prime.ini enter:

LockUserInfo=1

· You can make prime95 ping the Primenet server every time it starts up. I don't know why you'd want to do this. In prime.ini enter:

PingAtStartup=1

· You can have the program generate save files every n iterations. The files will have a .XXX extension where XXX equals the current iteration divided by n. In prime.ini enter:

InterimFiles=n

· You can have the program output residues every n iterations. The default value is the InterimFiles value. In prime.ini enter:

InterimResidues=n

· You can force prime95 to skip the trial factoring step prior to running a Lucas-Lehmer test. In prime.ini add this line:

SkipTrialFactoring=1

· You can do P-1 factoring by adding lines to worktodo.ini:

Pfactor=exponent,how_far_factored,has_been_LL_tested_once

For example, Pfactor=10000157,64,0

· You can reduce the number of times worktodo.ini is read and written by setting in prime.ini:

WellBehavedWork=1

This only works for worktodo.ini files that contain only Factor= lines. Only turn this on if you have BIG worktodo.ini files and each Factor=operation does not take much time. You must stop prime95 before manually editing the worktodo.ini file.

· In Advanced/Time, you can enter a value between 9994 and 9999 for the exponent to run a QA script. The QA file looks like this:

64511,0,400,99999999,3389BC878321980A

Where the first value is the exponent, the second value is the FFT size where zero means use the default FFT size. The third value is the number of iterations to run. The fourth value is the shift count (if the shift count is greater than the exponent a random shift count is used). The final value is the expected 64-bit residue. The dialog box values between 9994 and 9999 force slightly different code to run. 9999 and 9998 run straightforward squaring code, 9998 differs by gathering some standard deviation data. 9997 does squarings also but exercises the general purpose add/sub/mul routines too. 9996 does operations typical during ECM - the final residue won't match but the convolution error data can be useful. 9994 and 9995 probably blow up.

· You can factor a range of exponents for certain factors between b1 and b2 bits inclusive. This feature is likely to be deleted in a future

release. Add this to your worktodo.ini file:

AdvancedFactor=start_exponent,end_exponent,b1,b2

· AdvancedFactor uses the file p0000000 as the name of the continuation file. This causes problems if you try to run two prime95s doing Advanced/Factoring on a dual-CPU machine from the same directory. Add this line to prime.ini to use a different Advanced/Factor continuation file name:

AdvFacFileName=filename

· In AdvancedFactor, a start exponent of 8888 forces reading of a file called factors. The program then tries to refind each factor using the factoring code. This is not an efficient way to verify factors as it goes through the entire sieving process and trial factoring many potential factors.

· In local.ini, both the DayMemory and NightMemory values can be negative numbers meaning use all but this many megabytes. Thus on a 128MB system a value of -32 means the program can use 96MB of memory.

· You can control which FFT sizes are tested by the torture test. In prime.ini you can set:

MinTortureFFT=n

MaxTortureFFT=m

Where n and m are in "K". The default for n and m is 8 and 1024, which will run tests on FFT sizes from 8K to 1024K. Set n to 8 and m to 16 and you will run only small FFT sizes. These FFTs will fit in the L2 cache and may be more stressful to the CPU.

· You can control how many minutes each FFT size is tested by the torture test.

In prime.ini set:

TortureTime=n

The default value is 15 minutes.


AdvancedMenuECM

ADVANCED MENU

-------------

The ECM choice lets you factor Mersenne numbers using the Elliptic Curve Method of factoring. Select a few exponents and bounds to factor from the http://www.mersenne.org/ecm.htm web pages.

Fig. 3

Note: You do not reserve exponents to work on, several people can do ECM factoring on the same exponent. The program uses a random number generator to select elliptic curves to test. You must email results to me at woltman@alum.mit.edu - PrimeNet does not support ECM factoring. WARNING: ECM does not adhere to the memory limits specified in the Options / CPU dialog box. ECM requires a minimum of 192 times the FFT size. Thus, ECM factoring of F20 which uses a 64K FFT will use a minimum of 192 * 64K or 12MB of memory. You can also edit the worktodo.ini file directly. For example:

ECM=751,3000000,0,100,0,0,0,0

The first value is the exponent. The second value is bound #1. The third value is bound #2 - leave it as zero. The fourth value is the number of curves to test. The fifth value is no longer used. The sixth value is the specific curve to test - it is only used in debugging. The seventh value is 0 for 2^N-1 factoring, 1 for 2^N+1 factoring. The eighth value is no longer used.


AdvancedMenuManual

ADVANCED MENU

-------------

The Manual Communication menu choice should only be used if the automatic detection of an Internet connection is not working for you. Using this option means you have to remember to communicate with the server every week or two (by using this same menu choice).

Fig. 6


AdvancedMenuP1

ADVANCED MENU

-------------

The P-1 choice lets you factor Mersenne numbers using the P-1 method of factoring. There is presently no web site which tells you how much P-1 factoring has already been done on exponents. You can also edit the worktodo.ini file directly. For example:

Pminus1=751001,1000000,0,0,0

The first value is the exponent. The second value is bound #1. The third value is bound #2. The fourth value is 0 for 2^N-1 factoring, 1 for 2^N+1 factoring. The fifth value is no longer used.

Fig. 4


AdvancedMenuPassword

ADVANCED MENU

-------------

You should not need to use the Advanced menu. This menu choice is provided only for those who are curious to play with. To avoid confusion for novice users, all the choices in the Advanced menu have been grayed. Please read this section if you want to know what the Advanced menu choices do. To turn on the Advanced menu, use the Advanced Password dialog box and enter a value of 9876. Also note that many of the menu choices are grayed while testing is in progress. Choose Test/Stop to activate

these menu choices.


AdvancedMenuPriority

ADVANCED MENU

-------------

The Priority menu is used to adjust the priority prime95 runs at. You should not need to change this. You might raise the priority if you (or your coworker) just cannot live without a screen saver (bad idea), or if you are running some ill-behaved program that is using CPU cycles for no good reason.

Fig. 5


AdvancedMenuQuit

ADVANCED MENU

-------------

The Quit GIMPS menu choice is used when you no longer want this computer to work on the GIMPS project. You may rejoin at a later date. If you are a Prime Net user your unfinished work will be returned to the server. If you are a manual user, you need to send me email containing your results.txt file and a note saying you are quitting.


AdvancedMenuRoundoff

ADVANCED MENU

-------------

Round off checking. This option will slow the program down by about 15%. This option displays the smallest and largest "convolution error". The convolution error must be less than 0.49 or the results will be incorrect. There really is no good reason to turn this option on.


AdvancedMenuTest

ADVANCED MENU

-------------

The Test choice can be used to run a Lucas-Lehmer test on one Mersenne number. Enter the Mersenne number's exponent - this must be a prime number between 5 and 79300000.

Fig. 1


AdvancedMenuTime

ADVANCED MENU

-------------

The Time choice can be used to see how long each iteration of a Lucas-Lehmer test will take on your computer and how long it will take to test a given exponent. For example, if you want to know how long a Lucas-Lehmer test will take to test the exponent 876543, choose Advanced/Time and enter 876543 for 100 iterations.

Fig. 2


AdvancedMenuUnreserve

ADVANCED MENU

-------------

The Unreserve Exponent choice lets you tell the server to unreserved an exponent you have been assigned. You might do this if a second computer you had been running GIMPS on died or if you had been assigned an exponent of one work type (such as a first-time-test) and now you have switched to another work type (such as 10,000,000 digit numbers). Any work you have done on the unreserved exponent will be lost.

Fig. 7


OptionsMenuBenchmark

OPTIONS MENU

------------

The Benchmark choice times the program on several FFT lengths. You can then compare your computer's speed to others list at http://www.mersenne.org/bench.htm


OptionsMenuCPU

OPTIONS MENU

------------

The CPU menu choice lets you tell the program what kind of CPU you have and how much memory the program can use (see the earlier section on "Setting available memory". The program will normally figure out the CPU type for you. This information is used to give accurate time estimates in the Test/Status menu choice. It is also used, to choose between integer based factoring (Cyrix and 486) and floating point based factoring (Pentium and Pentium Pro). There are also some optimizations specific to the Pentium Pro and later CPUs in the Lucas-Lehmer primality test. If you have an AMD K5 or Cyrix M2 chip, choose Cyrix 6x86. Please see Setting Up Available Memory for more details.

Fig. 1


OptionsMenuPreferences

OPTIONS MENU

------------

The Preferences menu choice lets you control how often a line is written to the main window and how often a line is written to

the results file. It also lets you change how often intermediate files (to guard against power failure and crashes) are created. You can control how often the program checks to see if you are connected to the Internet. The program polls whenever it has new data to send to or work to get from the PrimeNet server. If you are low on disk space, you can select one intermediate file instead of two. However, if you crash in the middle of writing the one intermediate file, you may have to restart an exponent from scratch. You can also tell the program to be quiet, rather than beeping like crazy, if a new Mersenne prime is found. You can also make prime95 go idle whenever your laptop is running on battery power (does not work under Windows NT).

Fig. 2


OptionsMenuTortureTest

OPTIONS MENU

------------

The Torture Test choice will run a continuous self test. This is great for testing machines for hardware problems.


OptionsMenuTrayIcon

OPTIONS MENU

------------

The Tray Icon choice will cause prime95 to have a small icon on the taskbar when it is minimized. You can activate or hide the program by double-clicking on the small icon. If you place the cursor over the small icon, a tooltip will display the current status.

The No Icon choice is only enabled if the Advanced Menu is activated with the password. Using this menu choice means there will be no prime95 icon on the taskbar once you minimize the program - making it very hard to reactivate! You can reactivate the program by trying to execute prime95 a second time. Alternatively, you can turn this feature off by editing prime.ini and change the line "HideIcon=1" to "HideIcon=0", then reboot.


OptionsMenuWin95

OPTIONS MENU

------------

Checking the Start at Bootup menu choice will run prime95 at boot up for (Windows 95/98/Me) and at logon time (Windows NT/2000/XP).

You will not need to place a shortcut to prime95 in the startup folder. The Prime95 value in following registry keys may be written to: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run


TestMenuContinue

TEST MENU

---------

The Continue menu choice lets you resume prime95 after you have stopped it.


TestMenuPrimeNet

TEST MENU

---------

The PrimeNet menu choice lets you configure the type of work you get from the server. The "Use PrimeNet..." option can be turned on to switch from the manual method to the automatic method. The "Request whatever..." box should be left checked. However, if you are running a slow computer and don't mind waiting several months for a single Lucas-Lehmer test to complete OR you are running a faster computer and would rather do factoring, then uncheck this box and choose a different type of work to do. The "Always have at least this many days of work queued up" value should be changed based on how often you connect to the Internet. As long as you connect at least once in the given time period, prime95 will have an uninterrupted stream of work. However, the program will not checkout more than 20 exponents no matter what this value is set at.

Fig. 1


TestMenuStatus

TEST MENU

---------

The Status menu choice will tell you what exponents you are working on. It will also estimate how long that will take and your chances of finding a new Mersenne prime.

Fig. 4


TestMenuStop

TEST MENU

---------

The Stop menu choice lets you stop the program. When you continue, you will pick up right where you left off. This is the same as hitting the ESC key.


TestMenuUserInfo

TEST MENU

---------

The User Information menu choice lets you change your name and email address. Your name will be used in credits and "top producers" web pages. Your email address may be used to send you a newsletter once every few months. Select the "Receive occasional newsletters..." checkbox to enable these emails. The userid you use will appear in the status pages on the PrimeNet server. You can also set the ComputerID field if you have several computers and want to keep track of which computers produced which results. You can create a team by choosing the "Create a team..." checkbox. The user name you entered becomes the team name and a message is sent to the server which prevents the team name from changing. Thus, you can handout the userid and password for others to join your team and these team members are not able to accidentally or maliciously change the team name that appears on the statistics page.

Fig. 2


TestMenuVacation

TEST MENU

---------

The Vacation/Holiday menu choice lets prime95 update the expected completion dates on the PrimeNet server. This will prevent one of your exponents from being reassigned while you're gone. Also, if you are taking a long vacation, prime95 will get extra exponents to test. For example, if you are leaving for a 6 week vacation, connect to the Internet and choose 42 days.

Fig. 3