PRPnet: Unterschied zwischen den Versionen
Odicin (Diskussion | Beiträge) K (link changed) |
Odicin (Diskussion | Beiträge) K (→Multithreading: PFGW added) |
||
Zeile 199: | Zeile 199: | ||
Anstatt die llr.exe wie vorher direkt aufzurufen, wird die .bat Datei ausgeführt und der Thread-Parameter mit übergeben. | Anstatt die llr.exe wie vorher direkt aufzurufen, wird die .bat Datei ausgeführt und der Thread-Parameter mit übergeben. | ||
Gleiches gilt für PFGW. Hier muss mindestens die Version 4.0.0 genutzt werden. Der Download ist im Projektordner zu finden: [https://sourceforge.net/projects/openpfgw/files/] | |||
Das Prinzip ist hier gleich (bat-Datei erstellen), aber die Notation etwas anders: | |||
Inhalt: | |||
@pfgw64.exe %* -T4 | |||
Wobei T die Anzahl der zu verwendenden Threads ist. | |||
Dann ebenso in der prpclient.ini folgende Line anpassen: | |||
pfgwexe=pfgw64.bat | |||
== [http://wiki.bc-team.org/index.php?title=Vorlage:Primetable-prpnet PRPNet Server List] == | == [http://wiki.bc-team.org/index.php?title=Vorlage:Primetable-prpnet PRPNet Server List] == |
Version vom 5. März 2022, 16:49 Uhr
Download/Entpacken
Installation
Erklärung für Quadcore-Prozessoren:
- 1. 4-quad-install-prpclient.bat ausführen
- Verzeichnisstruktur sollte jetzt so aussehen...
- programs
- prpclient-1
- prpclient-2
- prpclient-3
- prpclient-4
Jedes Verzeichnis jeweils für 1 Kern
- prpclient.ini bearbeiten
- email=
- userid=
clientid=(bis prpnet 5.2.8)- machineid= (ab prpnet 5.3.0)
- instanceid= (ab prpnet 5.3.0)
- teamid=BOINC_Confederation
- Server Bsp:
- FPS:0:1:prpnet.primegrid.com:12002
- Erklärung:server=Projekt:ResourceShare:Anzahl Arbeitspakete:ServerIP:Port
- Wichtig! Der ResourceShare muss immer 100 ergeben, will man nur 2 Server ansteuern, kann man einen auf 100 und einen auf 0 setzen, 0 bedeutet, falls keine Arbeit da ist auf den nächsten wechselt.
- Falls keine 100 erreicht werden, öffnet sich kurz das Fenster und es schließt sich gleich wieder!
Start
- 4-quad-start-prpclient.bat ausführen
- Es öffnen sich 4 Fenster, Arbeit wird angefordert und er rechnet los. Man sollte die Datei nur einmal anklicken ansonsten gehen wieder 4 Fenster auf und man rechnet mit 8.
- Trick für BOINC nebenher laufen lassen: BOINC=1 Kern rechnen lassen, alle anderen WUs pausieren
- PRPnet vorher beenden lassen
- 1-single-start-prpclient.bat kopieren (insgesamt 4x)
Inhalte sollte dann so aussehen:
ECHO
cd prpclient-1
start "prpclient-1" /MIN prpclient.exe
EXIT
- 1-single-start-prpclient - 2.bat
ECHO
cd prpclient-2
start "prpclient-2" /MIN prpclient.exe
EXIT
- 1-single-start-prpclient - 3.bat
ECHO
cd prpclient-3
start "prpclient-3" /MIN prpclient.exe
EXIT
- 1-single-start-prpclient - 4.bat
ECHO
cd prpclient-4
start "prpclient-4" /MIN prpclient.exe
EXIT
Somit kann man einzelne freie Kerne, die in BOINC nicht benötigt werden dem PRPnet client zuweisen.
Update
- 4-quad-update-prpclient-ini.bat ausführen
- Alle Änderungen die man in der "master_prpclient.ini" macht werden in alle 4 Verzeichnisse in Echtzeit übertragen (prpclient.ini)
- instanceid= muss danach in den Verzeichnissen aktualisiert werden. Es können keine zwei Instanzen mit den gleichen ID laufen.
Beenden
- prpclient.ini im jeweilige Verzeichnis bearbeiten
- Startoptionen:
- // 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
- // 9 - Continue from where client left off when it was shut down
startoption=9 einstellen
- Stopoptionen:
- // 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
- // 9 - Do nothing and shut down (presumes you will restart with startoption=9)
stopoption=9 einstellen
- Stop erweitert:
- // 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
stopasapoption=6, für alles fertigrechnen dann Client beenden, es werden keine neuen Pakete gezogen
Wenn der Client in diesem Verzeichnis später wieder starten soll, einfach stopasapoption=0 setzen bevor der Client gestartet wird.
GPU (CUDA und OpenCL)
- Es können nur Double Precision Karten (CUDA Compute Capability 1.3 und höher) verwendet werden.
- llrCUDA kann nur auf 64bit Betriebssystemen eingesetzt werden.
- Minimum Nvidia-Treiber: 260.99
- Sinnvoll ist, analog zur Installation für die CPU, ein weiteres Verzeichnis für die Grafikkarte anzulegen. Es ist aber auch möglich, ein vorhandenes CPU-Verzeichnis zu nutzen (indem dann allerdings nicht mehr mit der CPU gerechnet werden kann).
- Folgende Dateien müssen aus dem programs-Ordner (oder von hier und hier) bei der Nutzung von genefercuda in das Verzeichnis kopiert werden:
- cudart32_32_16.dll, cufft32_32_16.dll (x86, ab Nvidia Treiber 260.99 mit CUDA 3.2 Unterstützung)
- cudart64_32_16.dll, cufft64_32_16.dll (x64, ab Nvidia Treiber 260.99 mit CUDA 3.2 Unterstützung)
- cudart32_40_17.dll, cufft32_40_17.dll (x86, ab Nvidia Treiber 270.64 mit CUDA 4.0 Unterstützung)
- cudart64_40_17.dll, cufft64_40_17.dll (x64, ab Nvidia Treiber 270.64 mit CUDA 4.0 Unterstützung)
- cudart32_50_35.dll, cufft32_50_35.dll (x86, ab Nvidia Treiber 306.97 mit CUDA 5.0 Unterstützung)
- cudart64_50_35.dll, cufft64_50_35.dll (x64, ab Nvidia Treiber 306.97 mit CUDA 5.0 Unterstützung)
- cudart32_55.dll, cufft32_55.dll (x86, ab Nvidia Treiber 320.18 mit CUDA 5.5 Unterstützung)
- cudart64_55.dll, cufft64_55.dll (x64, ab Nvidia Treiber 320.18 mit CUDA 5.5 Unterstützung)
- Außerdem müssen die Dateien cufft64_32_16.dll und cudart64_32_16.dll für llrCUDA verwendet werden.
- Einige Projekte benötigen leider trotzdem einen vollen CPU-Kern, bei diesen sollte man also entsprechend einen Kern freihalten.
- Die prpclient.ini im Verzeichnis muss folgendermaßen geändert werden:
- // geneferexe=geneferopencl.exe --> geneferexe=geneferopencl.exe (Kommentare entfernen, aktivieren)
- llrexe=llr.exe --> // llrexe=llr.exe (auskommentieren, deaktivieren)
- darunter: llrexe=llrCUDA.exe (hinzufügen)
- wwwwexe=wwwwcl32.exe oder wwwwexe=wwwwcl64.exe
- Folgende Projekte können nun prinzipiell gerechnet werden:
PRPnet-Projekt | Anwendung | Status |
---|---|---|
CPU Only -> Migrated to BOINC | ||
CPU Only -> Migrated to BOINC | ||
genefercuda.exe geneferopencl.exe |
Limit mit beiden Anwendungen erreicht, CPU Only -> Migrated to BOINC | |
genefercuda.exe geneferopencl.exe |
Cuda benötigt nahezu keine CPU-Last, OpenCL einen halben CPU-Kern -> Migrated to BOINC | |
wwwwcl32.exe wwwwcl64.exe |
OpenCL -> Migrated to BOINC | |
wwwwcl32.exe wwwwcl64.exe |
OpenCL -> Migrated to BOINC | |
121 | llrCUDA.exe | nutzt vollen CPU-Kern |
27 | llrCUDA.exe | nutzt vollen CPU-Kern |
Riesel Prime Search (NPLB) | llrCUDA.exe | nutzt einen halben CPU-Kern |
TPS (NPLB) | llrCUDA.exe | nutzt einen halben CPU-Kern |
Multithreading
Ab der LLR Version 3.8.20 ist es möglich, das ein Prozess mehrere CPU Kerne nutzt. Über einen kleinen Umweg, kann man das auch für PRPNet nutzen.
Die entsprechende LLR (Console Application) findet man bei Jean Penné
1. Man erstellt im Client-Verzeichnis eine bat-Datei, z.b. cllr64.bat:
Inhalt:
@cllr64.exe -t2 %*
Wobei t die Anzahl der zu verwendenden Threads ist.
2.) Dann in der prpclient.ini folgende Line anpassen:
llrexe=cllr64.bat
Anstatt die llr.exe wie vorher direkt aufzurufen, wird die .bat Datei ausgeführt und der Thread-Parameter mit übergeben.
Gleiches gilt für PFGW. Hier muss mindestens die Version 4.0.0 genutzt werden. Der Download ist im Projektordner zu finden: [1]
Das Prinzip ist hier gleich (bat-Datei erstellen), aber die Notation etwas anders:
Inhalt:
@pfgw64.exe %* -T4
Wobei T die Anzahl der zu verwendenden Threads ist.
Dann ebenso in der prpclient.ini folgende Line anpassen:
pfgwexe=pfgw64.bat
PRPNet Server List
Stats
Credits/PSA-Badge
- Credits werden nur selten im Monat gutgeschrieben, normalerweise 1x pro Woche, Gesamtcredits für PRPnet stehen dann ganz unten im Account. Wie bei den Sieve-Projekten gibt es Bronze erst ab 20000, die Credits werden hier manuell umgerechnet.
Tips
- Zuweisung bestimmter Projekte auf einen Kern/Client: Hierzu muss lediglich die "prpclient.ini" des jeweiligen Clients bearbeitet werden + Server aktivieren, somit könnte man 2 Projekte pro Client zuweisen
- Ausrechnen aller WUs dann Fenster schließen: Besser als das ständige Umändern der start/stop Optionen ist einfach die Server alle deaktivieren.