Great Internet Mersenne Prime Search/GPU Anleitung

Aus Rechenkraft
Zur Navigation springen Zur Suche springen

Eine kleine Anleitung für alle die einfach vollautomatisiert mit ihrer GPU mitmachen wollen. und-Karten stellen kein Problem dar. Es wird kein DP (double-precision) fürs Faktorisieren unter mfaktc/mfakto benötigt. (andere programme JA, aber dazu später) Zur zeit werden keine INTEGRIERTE Chipsatz GPU´s unterstützt wie die der modernen INTEL-CPU, vielleicht in Zukunft.

Account erstellen (falls noch nicht vorhanden)

Um Arbeit auch angerechnet zu bekommen, wird bei http://www.mersenne.org/ und http://www.gpu72.com/ ein Account benötigt.

Software herunterladen zur Faktorisierung (hier Windows)

Programme herunter laden:

Diese in SEPERATE Verzeichnisse Eurer Wahl entpacken (keine installation nötig)

Solltet ihr ein gemischtes System haben sprich 1 ATI und 1 NVIDIA oder 1 ATI und 2x NVIDIA etc.., erzeugt dann Verzeichnisse wie ihr sie benötigt. z.b 1 Verzeichnis mit mfaktc (NVIDIA) und 1 Verzeichnis mit mfakto (ATI/AMD) usw. usw. Jede Grafikkarte braucht ihr eigenes Verzeichnis bzw. ihre eigen Instanz. Falls die Grafikkarte nicht ausgelastet werden sollte ebenfalls 2 Verzeichnisse erstellen und 2 Instanzen starten.

Falls ihr Probleme habt ATI und NVIDIA gemeinsam in einem System ans Laufen zu bekommen, hier eine Anleitung bzw. Treiberpaket (AIO) damit das funktioniert.

Da die aktuellen AMD-Treiber (Stand: Juli 2013) einen "cpu-bug" (soll ein Feature sein) haben die die Performance spürbar bremst bin ich auf den Treiber 13.1 zurückgegangen der deutlich bessere Ergebnisse liefert. Sobald der "bug" behoben ist update ich wieder. Dazu habe ich einfach das AIO-Treiberpaket entpackt und die ATI-Treiber mit den 13.1 überschrieben. Ältere Versionen kann man übrigens hier herunterladen.

Jetzt das Allround-Tool zur automatischen Steuerung herunterladen (MISFIT). Dieses ebenfalls in ein Verzeichnis eurer wahl entpacken und einfach starten.

Misfit einstellen

Beim ersten Start könnt ihr per Doppelklick in das Locations-Fenster eure mfaktc/mfakto Verzeichnisse auswählen und misfit erkennt diese anhand gewisser Merkmale automatisch. Wahrscheinlich meckert das Tool erstmal etwas herum da wir noch keine worktodo.txt (also keine Arbeit) erstellt haben, aber das ändern wir schnell.

Erstmal in "Operations--Configuration Editor--Security" die Login Daten eintragen. (genau acht geben, kein Vertipper, das Tool macht kein Testlogin).

Jetzt können wir im gleichen Configuration Editor unter Work fetch auswählen wieviel und welche Arbeit geholt werden soll. Unter GPU72 kann man einfach das Projekt entscheiden lassen. Sollte ein Bitlevel nicht verfügbar sein wird einfach das nächst mögliche runtergeladen. Die Tabs sind eigentlich selbsterklärend.

Man kann den automatischen Upload einstellen wie man will ggf. auch komplett abschalten.

Clients starten

Bei mehrfach GPU´s der GLEICHEN Art unbedingt eine Verknüpfung erstellen und mit Parameter starten, z.b.

mfaktc-win-64.exe -d 0

und

mfaktc-win-64.exe -d 1 

für die 2 nvidia gpu usw. usw.

Bei ATI/AMD dann halt mit dem entsprechend bei mfakto-programm.

-d 0 besagt Grafikkarte 1 und -d 1 Grafikkarte 2 -d 3 Grafikkarte 3 ( wie gesagt nur bei Herstellergleichen Grafikkarte wegen den Instanzen). Jede Grafikkarte muss ja in ihrem eigenen mfaktc/o Verzeichnis rechnen.

Dazu einfach Rechtsklick auf mfaktc oder mfakto und Desktop Verknüpfung erstellen.

  • Danach Rechtsklick -- Eigenschaften...
  • Bei ZIEL einfach -d 0 bzw. -d 1 für die zweite -d 2 für die dritte usw. Grafikkarte dahinter eintragen (gilt für NVIDIA und ATI/AMD gleichermaßen), z.B. blalbalba/mfaktc-win-64.exe -d 0 und blablabla/mfaktc-win-64.exe -d 1 oder blablablaaa/mfakto_x64.exe -d 0 oder blaaaa/mfakto_x64.exe -d 1 usw. Für jede Verknüpfung halt abändern.
  • Diese Verknüpfungen kann man auch so in den Autostart kopieren und startet dann folglich bei jedem Systemstart.

Man kann auch MISFIT konfigurieren dass die Clients gleich gestartet und/oder beendet werden (Geschmackssache).

mfaktc/o config

Beide Programme können mittlerweile völlig autonom auf der GPU Sieben OHNE CPU-Belastung zu erzeugen. Sie arbeiten also selbständig für sich alleine und ihr habt eure CPU immer frei. Bei komplett ausgelastetem System kann es zu Performanceeinbrüchen kommen aber diese liegen im Rahmen.

Nun gibt es verschiedene Grafikkarten und Typen und da passt nicht immer die Standardeinstellung deshalb solltet ihr unbedingt die Einstellungen für eure Grafikkarte optimieren um optimal performant zu rechnen.

Hier mal die Einstellung meiner ATI/AMD:

Verbosity=1
SievePrimes=25000
SievePrimesAdjust=1
SievePrimesMin=5000
SievePrimesMax=200000
SieveSizeLimit=32
NumStreams=3
VectorSize=2
GridSize=4
WorkFile=worktodo.txt
ResultsFile=results.txt
Checkpoints=1
CheckpointDelay=300
Stages=1
StopAfterFactor=2
PrintMode=1
TimeStampInResults=0
ProgressHeader=Date Time | class Pct | time ETA | GHz-d/day Sieve Wait
ProgressFormat=%d %T | %C %p%% | %t %e | %g %s %W%%
AllowSleep=1
GPUType=AUTO
SieveCPUMask=0
SmallExp=1
SieveOnGPU=1
GPUSievePrimes=110000
GPUSieveSize=126
GPUSieveProcessSize=24
TestSieveSizes=1,2,3,4,5,6,7,8,9,10,11,13,16,19,20,21,22,25,30,36,43,50,58,67,77,88,100,120,170
25000,28391,32242,36616,41583,47223,53629,60904,69165,78547,89202,101302,115043,130649,148371,168497,191353,217309,246787,280263,318280,361453,410484,466165,529399,601210,682762,755377,880555,1000000
TestSievePrimes=256,396,611,945,1460,2257,3487,5389,8328,12871,19890,30738,47503,73411,113449,175323,270944,418716,647083,1000000

und hier meiner NVIDIA

SievePrimes=30000
SievePrimesAdjust=1
SievePrimesMin=5000
SievePrimesMax=100000
NumStreams=3
CPUStreams=3
GridSize=3
WorkFile=worktodo.txt
Checkpoints=1
CheckpointDelay=30
Stages=1
StopAfterFactor=2
PrintMode=1
AllowSleep=0
TimeStampInResults=0
ProgressHeader=Date Time | class Pct | time ETA | GHz-d/day Sieve Wait
ProgressFormat=%d %T | %C %p%% | %t %e | %g %s %W%%
SieveOnGPU=1
GPUSievePrimes=62500
GPUSieveSize=126
GPUSieveProcessSize=8

In den nächsten Versionen soll eine Autoconfiguration erfolgen. Somit entfällt größtenteils das manuelle Ausprobieren, aber das dauert noch ein wenig. In der Zwischenzeit einfach mal bei Gelegenheit verschiedene Settings ausprobieren.

Alternative zum Faktorisieren

LL-tests können unter Nvidia-karten mit dem programm CUDALUCAS berechnet werden. Für ATI/AMD-Karten wird das gerade noch entwickelt. misfit kann das anzeigen aber ob misfit auch Arbeit für diese Tests holt kann ich zur Zeit nicht bestätigen, da ich keine LL-test im moment rechne. Hier wird aber unbedingt DP (double precision) abverlangt. Also VORHER prüfen ob eure Karte DP-fähig ist sonst wird das wohl nix.

Ebenso werden P-1 Tests gerade entwickelt und getestet. Sieht im Moment ganz gut aus für beide Hersteller der GPUs.

Credits

Jede "Kategorie" wirft so seine Punkte ab, hier sind das Ghz/d ( p-90 gigahertz tage). Am meisten werfen hier die Faktorisierungsprogramme mfaktc/mfakto ab. Da aber jede Kategorie anders gewertet wird ist das aber nicht so aussagekräftig.