Join PrimeGrid
Returning Participants
Community
Leader Boards
Results
Other
drummers-lowrise
|
Message boards :
Project Staging Area :
PRPNet
Author |
Message |
|
Welcome to PRPNet!
PrimeGrid uses PRPNet to test and prepare new projects. It is also used as a way to offer more varied prime searches that normally will not make it to BOINC.
PRPNet, developed by Mark Rodenkirch, is very similar to BOINC but is used specifically for prime finding. There is no GUI. Instead, it runs in a DOS window or Linux/Mac terminal. It's very simple to run... just download and unzip the file for your OS, edit a few lines in the master_prpclient.ini file, and run. You'll be crunching in less than 5 minutes. :)
Manual cobblestones are available.
For latest clients, see the last post in this thread.
Download the client for your OS and extract. You can download the archives here: http://prpnet.primegrid.com/
Please see below for instructions. These are also located in the readme_primegrid.txt file.
Thank you for participating in PrimeGrid's PRPNet and Best of Luck finding primes. :)
------------------------------------
Instructions for running PRPNet!
- Download the client for your OS and then extract. You can download the archives here: http://prpnet.primegrid.com/
- Run the "#-install-prpclient.bat" ("#-install-prpclient.sh" for Linux, "#-install-prpclient.command" for Mac) file to build the required folders.
1-single install
2-dual install
4-quad install
6-hex install
8-oct install
12-dodeca install
16-hexa install
- Open the master_prpclient.ini and modify the following settings:
- email= This is a REQUIRED field. Enter your email address. E-mail will be sent to this address when a number is found to be PRP. If you wish for your prime to be included in PrimeGrid's Primes Database, please use the same address that you registered with when connecting to PrimeGrid.
- userid= This is a REQUIRED field. Enter your PrimeGrid username here. It will be used by the server to report on stats, etc. and to grant credit. NOTE: If your PrimeGrid userid has a space in it, please use the underscore character _ to replace it. For example: "Prime Time" would become "Prime_Time".
- machineid= This identifies a specific machine running PRPnet. DO NOT USE spaces. Instead use underscore _.
- instanceid= This identifies a specific instance on the machine. It will be automatically set by the update-prpclient-ini script to match the directory number.
- teamid= This assigns your host to a specific team. DO NOT USE spaces. Instead use underscore _.
- server= This points to PrimeGrid's PRPNet server from which the client will get work. It is already prepared with default values. Please make adjustments to your preference.
Save the master_prpclient.ini file
- Run the "#-update-prpclient-ini.bat" ("#-update-prpclient-ini.sh" for "Linux, #-update-prpclient-ini.command for Mac") file to update the prpclient.ini files in all the folders.
- Run the "#-start-prpclient.bat" ("#-start-prpclient.sh" for Linux, "#-start-prpclient.command for Mac") to start all the clients (the windows will be minimized). The clients will start, communicate with the server, and download WU's based on your server settings in the master_prpclient.ini file.
- The client will automatically select which "primality testing program" (LLR, Phrot, or PFGW) to use on the downloaded WU's. It will continue until interrupted.
- To stop client(s), run the "stop-prpclient.sh" (.command for Mac) file. This will close out all processes. In WINDOWS, you must ctrl-c in all the DOS windows. The client(s) will shut down based on your stopoption= setting. Also, since ini file changes can be made while the client is running, the stopasapoption can be used to stop the client.
Congratulations!!! You are now part of PrimeGrid's PRPNet community.
Additional Information
The configuration of the server section is parsed as follows:
server=<suffix>:<pct>:<workunits>:<server IP>:<port>
- <suffix> - a unique suffix for the server. This is used to distinguish file names that are created for each configured server.
- <pct> - the percentage of PRP tests to do from the server.
- <workunits> - the number of PRP tests to get from the server. The server also has a limit, so the server will never return more than its limit.
- <server IP> - the IP address or name for the server
- <port> - the port of the PRPNet server
Setting pct to 0 means that the client will only get work from the server if it cannot connect to one of the other configured servers.
Sample settings:
server=FPS:100:5:prpnet.primegrid.com:12002
server=GFN65536:0:1:prpnet.primegrid.com:12003
server=GCW13:0:1:prpnet.primegrid.com:12004
This tells the client to only get work (5 WU at a time) from the Factorial Prime Search on port 12002 of server prpnet.primegrid.com. The other two servers are active but since their percents are 0, PRPClient will only ask for work from them if the FPS server is empty.
You can also spread your percentage across several servers. For example:
server=121:25:1:prpnet.primegrid.com:12001
server=FPS:25:1:prpnet.primegrid.com:12002
server=GCW13:50:1:prpnet.primegrid.com:12004
The above settings will get 1 WU at a time from all three servers. Notice that the GCW13 search will be requested twice as often over the other two because its percentage is double the other two.
You can make any combinations you like. Just make sure ALL NUMBERS ADD UP TO 100. :)
To not get work from a server, you can easily just comment it out by placing "//" at the front of the line or by setting <pct> AND <workunits> to 0:0. For example
server=GCW13:0:0:prpnet.primegrid.com:12004
Finishing the queue and closing the client
Use STOPoptions in master_prpclient.ini to tell PRPClient what to do when ctrl-c is used to stop the client. Options 2, 5, 6, and 7 will empty your queue. The following options are available:
2 - Return completed work units, abandon the rest, then shut down
3 - Return completed work units (keep the rest), then shut down
5 - Complete in-progress work units, abandon the rest, report them, then shut down
6 - Complete all work units, report them, then shut down
7 - Complete all work units then shut down (do not report completed work)
9 - Do nothing and shut down (presumes you will restart with startoption=9)
The master_prpclient ini file can be updated without stopping the client. Therefore, make your changes and then run the #-update-prpclient-ini.sh" (.bat for Windows, .command for Mac) file to update the prpclient.ini files in all the folders. When ctrl-c is hit, the client will read the new stopoptions.
Also, the stopASAPoption is available. You can use this to close the client after
the current test is complete. The following options are available:
2 - Return completed work units and abandon the rest
3 - Return completed work units (keep the rest)
6 - Complete all work units and return them
7 - Complete all work units then shut down (do not report completed work)
Make your changes and then run the #-update-prpclient-ini.sh" (.bat for Windows, .command for Mac) file to update the prpclient.ini files in all the folders. When the current test is complete, the client will read the new stopASAPoptions.
Please let us know in the PRPNet Discussion thread if you experience any other problems or have any questions.
| |
|
|
Below is an example of a prpclient.ini file (for Windows). Highlighted in red are the sections you need to add your information.
Highlighted in blue in the server section is where you adjust your project preferences. You can even comment out ports that you don't want to participate in by adding // at the beginning of the line.
// email= is a REQUIRED field. The server will be use this address
// to send you an e-mail when your client discovers a prime.
email=your@email.here
// userid= is a REQUIRED field that will be used by the server
// to report on stats, etc. without having to reveal the user's
// e-mail address. DO NOT USE spaces. Instead use underscore _.
userid=PG_username
// This value differentiates clients using the same e-mail ID
// DO NOT USE spaces. Instead use underscore _.
machineid=clientID
// This value differentiates instances on a machine
// This will be set automatically by the *-update-prpclient-ini script
// If you prefer to setup up prpclient directories manually, please
// set this to a unique identifier (e.g. 1,2,3,4...)
instanceid=INSTANCE_ID
// Tests completed by this "team" will be rolled-up as part of team stats. This
// will be recorded on tests that are pending and then updated when tests are
// completed. Since it is stored on the server per test, it is possible for a
// single user to be a member of multiple teams. If no value is specified for
// this field, then completed tests and primes will not be awarded to any teams.
// DO NOT USE spaces. Instead use underscore _.
teamid=
// server= configures the mix of work to perform across one or more
// servers. It is parsed as follows:
// <suffix>:<pct>:<workunits>:<server IP>:<port>
//
// <suffix> - a unique suffix for the server. This is used to distinguish
// file names that are created for each configured server.
// <pct> - the percentage of PRP tests to do from the server.
// <workunits> - the number of PRP tests to get from the server. The
// server also has a limit, so the server will never return
// more than its limit.
// <server IP> - the IP address or name for the server
// <port> - the port of the PRPNet server
//
// Setting pct to 0 means that the client will only get work from the
// server if it cannot connect to one of the other configured servers.
// Please read the prpnet_servers.txt in this directory for information
// on the latest PRPNet servers.
// The following servers are from PrimeGrid. To make a server active,
// you must remove the "//". For more information about proper settings
// please see the readme_primegrid.txt in this directory.
// For descriptions of each project, please see this thread:
// http://www.primegrid.com/forum_thread.php?id=1215&nowrap=true#13329
//server=121:0:1:prpnet.primegrid.com:12001
//server=FPS:0:1:prpnet.primegrid.com:12002
//server=GCW:0:1:prpnet.primegrid.com:12004
server=27:0:1:prpnet.primegrid.com:12006
//server=PRS:0:1:prpnet.primegrid.com:12008
//server=WIEFERICH:0:1:prpnet.mine.nu:13000
//server=WALLSUNSUN:0:1:prpnet.mine.nu:13001
// The following server is from the Sierpinski/Riesel base 5 Project
// This server is external to PrimeGrid.
//server=SR5:0:1:www.psp-project.de:8105
// This is the name of LLR executable. On Windows, this needs to be
// the LLR console application, not the GUI application. The GUI
// application does not terminate when the PRP test is done.
// On some systems you will need to put a "./" in front of the executable
// name so that it looks in the current directory for it rather than
// in the system path.
// LLR can be downloaded from http://jpenne.free.fr/index2.html
// If running a 64-bit system, comment out the llr.exe and uncomment llr64.exe
// To use a CC 1.3+ CUDA GPU, comment out llr.exe and uncomment llrCUDA.exe
llrexe=llr.exe
//llrexe=llr64.exe
//llrexe=llrCUDA.exe
// This is the name of the PFGW executable. On Windows, this needs to
// be the PFGW console application, not the GUI application.
// PFGW can be downloaded from http://tech.groups.yahoo.com/group/openpfgw/
// If you are running a 64 bit OS, comment out the pfgw32 line
// and uncomment the pfgw64 line.
pfgwexe=pfgw32.exe
//pfgwexe=pfgw64.exe
// This is the name of the genefer executables used for GFN searches. Up
// to four different Genefer programs can be specified. The client will
// attempt a test with genefercuda first if available...otherwise, genefx64
// will be first. If a round off error occurs in either, it will try genefer.
// If a round off occurs in genefer, it will try genefer80. If
// genefer80 fails, then the number cannot be tested with the Genefers. It will
// then be tested with pfgw if available. The order they are specified here
// is not important.
// Uncomment the line (genefx64) if you are running on a 64 bit machine.
//geneferexe=geneferCUDA
//geneferexe=genefx64.exe
geneferexe=genefer.exe
geneferexe=genefer80.exe
// This is the name of the executable used for Wieferich and Wall-Sun-Sun searches.
// If you have an OpenCL-capable GPU, uncomment 'wwwwcl'
//wwwwexe=wwww.exe
//wwwwexe=wwwwcl.exe
//wwwwexe=wwwwcl64.exe
// This sets the CPU affinity for LLR on multi-CPU machines. It defaults to
// -1, which means that LLR can run on an CPU.
cpuaffinity=
// This sets the GPU affinity for CUDA apps on multi-GPU machines. It defaults to
// -1, which means that the CUDA app can run on an GPU.
gpuaffinity=
// Set to 1 to tell PFGW to run in NORMAL priority. It defaults to 0, which means
// that PFGW will run in IDLE priority, the same priority used by LLR, phrot,
// and genefer.
normalpriority=0
// This option is used to default the startup option if the PREVIOUS
// SHUTDOWN LEFT UNCOMPLETED WORKUNITS. If no previous work was left
// this will act like option 9.
// 0 - prompt
// 1 - Return completed work units, abandon the rest, then get more work
// 2 - Return completed work units, abandon the rest, then shut down
// 3 - Return completed, then continue
// 4 - Complete in-progress work units, abandon the rest, then get more work
// 5 - Complete in-progress work units, abandon the rest, then shut down
// 6 - Complete all work units, report them, then shut down
// 7 - Complete all work units then shut down (do not report completed work)
// 9 - Continue from where client left off when it was shut down
startoption=9
// stopoption= tells the client what to do when it is stopped with CTRL-C and there is
// work that has not been completed and returned to the server. Options 2, 5, and 6 will
// return all workunits. This will override stopasapoption. The accepted values are:
// 0 - prompt
// 2 - Return completed work units, abandon the rest, then shut down
// 3 - Return completed work units (keep the rest), then shut down
// 5 - Complete in-progress work units, abandon the rest, report them, then shut down
// 6 - Complete all work units, report them, then shut down
// 7 - Complete all work units then shut down (do not report completed work)
// 9 - Do nothing and shut down (presumes you will restart with startoption=9)
stopoption=9
// stopasapoption= tells the client that it needs to be shutdown automatically, i.e. without
// a CTRL-C. It is evaluated after each test is completed. It should be 0 upon startup.
// The accepted values are:
// 0 - Continue processing work units
// 2 - Return completed work units and abandon the rest
// 3 - Return completed work units (keep the rest)
// 6 - Complete all work units and return them
// 7 - Complete all work units then shut down (do not report completed work)
stopasapoption=0
// Timeout on communications errors
// (default is 60 minutes, minimum is 1 minute if not specified here...)
// Note that the actual used in the client is anywhere from 90% to 110% of this value
errortimeout=1
// Size limit in megabytes for the prpclient.log file...
// 0 means no limit.
// -1 means no log.
loglimit=1
// Set the debug level for the client
// 0 - no debug messages
// 1 - all debug messages
// 2 - output debug messages from socket communication
debuglevel=0
// Whether or not to echo "INFO" messages from server to console for accepted tests
// 0 - no echo
// 1 - echo (default)
echotest=1 | |
|
|
PRPNet Update 5.3.0
This update includes the prpclient 5.3.0, required to use the GFN PRPNet ports due to a server upgrade. New versions of genefer (3.2.0-0) and llr (3.8.13) are also included.
With this release, we also drop support for Mac PPC clients. If this causes problems for anyone, please email or PM me, but the effort needed to keep this build going is too great to do so without requests!
Package updates
- prpclient v5.3.0 & readme_prpclient.txt
- genefer (CPU 32/64, OpenCL, CUDA) 3.2.0-0 for Mac, Windows and Linux & readme_genefers.txt
- llr 3.8.13 for Mac, Windows and Linux
- master_prpclient.ini
Single, dual, quad, hex, oct, dodeca, and hexadeca installs are included. Instructions are in the readme_primegrid.txt file. Download the client for your OS and extract. You can download the archives here: http://prpnet.primegrid.com/
Current archives
- prpclient-5.3.0-linux_32
- prpclient-5.3.0-linux_64
- prpclient-5.3.0-windows (32 bit prpclient and 32/64bit apps)
- prpclient-5.3.0-macintel (universal binary)
Program versions included in archive:
prpclient - Version 5.3.0
llr - Version 3.8.13 (Linux, MacIntel, Windows)
pfgw - Version 3.7.7 (MacIntel, Linux, Windows)
phrot - Version 0.72 (MacIntel)
GeneferOCL - Version 3.2.0-0 (Windows, Linux, MacIntel)
GeneferCUDA - Version 3.2.0-0 (Windows, Linux, MacIntel)
Genefer - Version 3.2.0-0 (Windows, Linux, MacIntel)
wwww - Version 1.3 (Windows, Linux x64, MacIntel)
wwwwcl - Version 2.2.5 (Windows, Linux, MacIntel)
Prpclient Linux32 build courtesy of Patrick (pschoefer).
Prpclient Linux64 build courtesy of Lennart
Genefer builds provided by Iain Bethune & Ronald Schneider
Other software provide by authors.
NOTE: GPU apps requires double precision support. DP capable CUDA cards are: nVidia GTX260-295, 400, 500, and later.
Update since prpclient v5.2.8 - full history in readme_prpclient.txt
Version 5.3.0: September 19, 2013 - New Release
all: Cleaned up compiler warnings with sockets.
Use PRId64/PRIu64 where needed.
Convert to using the string datatype for most function parameters.
prpserver: Added notifylowwork= option to the prpserver.ini. When set to a
non-zero value, the server will send an e-mail once a day notifying
the distribution list that the server is running low on work.
This change triggered the refactoring of some server code,
specifically the moving of logic from prpserver.cpp to helper
classes specific to the server type.
Reject results from genefer programs with version "3.2.0beta-0".
Fixed issue with determining if a machine or user could double-check.
prpclient: Added version reporting for genefer apps.
Reject genefer programs with version "3.2.0beta-0".
NOTE: Because of the large file size, we use 7z compression. If anyone needs another compression type, just let us know or see the following links for compression software:
Windows: http://www.7-zip.org/
Linux, Mac: http://sourceforge.net/projects/p7zip/files/
____________
Twitter: IainBethune
Proud member of team "Aggie The Pew". Go Aggie!
3073428256125*2^1290000-1 is Prime! | |
|
|
PRPNet Update 5.4.0
This update contains the same prpclient 5.4.0, but updates several of the helper applications and removes inactive ports from the provided master_prpclient.ini file. 32-bit Linux remains at PFGW 3.7.7 as a 32-bit build has not yet been made available. Since the genefer ports are closed, the genefer applications have been removed. As a result, the packages are all quite a lot smaller!
Package updates
- prpclient updated to 5.4.0
- PFGW updated to 3.7.10 for Windows, Mac and Linux64
- LLR updated to 3.8.16
- Genefer removed
- Inactive ports removed from master_prpclient.ini
Single, dual, quad, hex, oct, dodeca, and hexadeca installs are included. Instructions are in the readme_primegrid.txt file. Download the client for your OS and extract. You can download the archives here: http://prpnet.primegrid.com
Current archives
- prpclient-5.4.0a-linux_32
- prpclient-5.4.0a-linux_64
- prpclient-5.4.0a-windows (32 bit prpclient and 32/64bit apps)
- prpclient-5.4.0a-macintel (universal binary)
Program versions included in archive:
prpclient - Version 5.4.0
llr - Version 3.8.16 (Linux, MacIntel, Windows)
pfgw - Version 3.7.10 (MacIntel, Linux x64, Windows)
pfgw - Version 3.7.7 (Linux x86)
phrot - Version 0.72 (MacIntel)
wwww - Version 1.3 (Windows, Linux x64, MacIntel)
wwwwcl - Version 2.2.5 (Windows, Linux, MacIntel)
Prpclient Linux32 build courtesy of Patrick (pschoefer).
Other software provide by authors.
NOTE: GPU apps requires double precision support. DP capable CUDA cards are: nVidia GTX 260-295, 400, 500, and later.
Update since prpclient v5.3.2 - full history in readme_prpclient.txt
Version 5.4.0: January 31, 2015 - New Release
all: Add support for generic searches (pfgw only).
Add support for cyclotomis searches. The cyclotomic form is Phi(k,b^n}.
if k=3 and n=2^N for some integer N, cyclo will be used (if configured
on the client) as it can more quickly test that form on a GPU. For
other values of k and n, pfgw will be used. Stats will be rolled up by
k and n.
Fixed VS2012 solution warnings. The Windows clients are now suffixed
with "64" or "32" for 64-bit and 32-bit.
prpserver: Remove support for clients older than 5.1.
prpclient: By default client will use LLR over PFGW if applicable for the candidate
being tested. This is because LLR is faster than PFGW for most tests.
With the change the client will now ignore what the server sends for
that flag. If you don't want to use LLR, then comment it out in the
prpclient.ini file.
Remove support for servers older than 5.1.
NOTE: Because of the large file size, we use 7z compression. If anyone needs another compression type, just let us know or see the following links for compression software:
Windows: http://www.7-zip.org/
Linux, Mac: http://sourceforge.net/projects/p7zip/files/
____________
Twitter: IainBethune
Proud member of team "Aggie The Pew". Go Aggie!
3073428256125*2^1290000-1 is Prime! | |
|
Message boards :
Project Staging Area :
PRPNet |