mprime auf Ubuntu installieren und ausführen
Nach einigen Jahren hatte ich jüngst wieder versucht mit Hilfe des Autostart Skrips von Gareth Randall (12.11.2000), original auf dieser Email Liste gepostet:
http://www.mail-archive.com/mersenne.../msg05245.html ,
GIMPS MPrime (Prime95) von
mersenne.org automatisch @Bootup auf meinen Ubuntu Desktop und Server Maschinen starten zu lassen.
Da ich derzeit
Ubuntu Natty 11.04 und
11.10 Oneiric auf meinen neuen
AMD Fusion E-350 Computern benutze gab mir
Upstart folgende error message, bei der Benutzung obigen Skripts:
su: must be run from a terminal
Dafür möchte ich ein bequemes Workaround zeigen, das bei mir funktioniert:
ANLEITUNG
0) Im Terminal generieren des Unterordners /gimps:
|
Quellcode
|
1
|
master_and_commander@1stcomputer:~$ mkdir /home/master_and_commander/gimps
|
|
Quellcode
|
1
2
3
4
5
6
|
master_and_commander@1stcomputer:~$ pwd
/home/master_and_commander
master_and_commander@1stcomputer:~$ cd gimps
master_and_commander@1stcomputer:~/gimps$ pwd
/home/master_and_commander/gimps
master_and_commander@1stcomputer:~/gimps$
|
Hinweis:
"/gimps" = Unterordner des Heimatverzeichnisses des (angemeldeten) Nutzers = "master_and_commander" auf der Ubuntu Maschine (Desktop oder Server) mit dem Namen "1stcomputer".
Diese Angaben sind individuell anzupassen. Dein Computer heiße "xillian" und dein Nutzername sei "peter" dann wird daraus, z.B.:
|
Quellcode
|
1
2
|
peter@xillian:~$
...
|
1) Download und extrahieren des mprime Quellcode-Packetes für Linux
... von
www.mersenne.org/gimps
1.a) die 64bit Variante:
|
Quellcode
|
1
2
|
master_and_commander@1stcomputer:~$ cd /home/master_and_commander/gimps
master_and_commander@1stcomputer: ~/gimps$ [color=#006600]wget [/color]ftp://mersenne.org/gimps/mprime266-linux64.tar.gz
|
|
Quellcode
|
1
2
3
4
5
6
7
8
|
master_and_commander@1stcomputer:~/gimps$ [color=#006600]tar xzvf [/color]mprime266-linux64.tar.gz
license.txt
mprime
readme.txt
stress.txt
undoc.txt
whatsnew.txt
master_and_commander@1stcomputer:~/gimps$
|
1.b) Die 32bit Variante:
|
Quellcode
|
1
2
|
master_and_commander@1stcomputer:~$ cd ~/gimps
master_and_commander@1stcomputer:~/gimps$ [color=#006600]wget[/color] ftp://mersenne.org/gimps/mprime266.tar.gz
|
|
Quellcode
|
1
2
3
4
5
6
7
8
|
master_and_commander@1stcomputer:~/gimps$ [color=#006600]tar xzvf [/color]mprime266.tar.gz
license.txt
mprime
readme.txt
stress.txt
undoc.txt
whatsnew.txt
master_and_commander@1stcomputer:~/gimps$
|
2) Erster Start des Programmes "mprime" im Terminal
... mit dem "-m" Schalter, um die erforderlichen Einstellungen m.H. eines Menüs vorzunehmen:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
master_and_commander@1stcomputer:~$ cd /home/master_and_commander/gimps
master_and_commander@1stcomputer:~/gimps$ [color=#006600]./mprime -m[/color]
[Main thread May 30 15:17] Mersenne number primality test program version 26.6
[Main thread May 30 15:17:38] Optimizing for CPU architecture: AMD K8, L2 cache size: 512 KB
Main Menu
1. Test/Primenet
2. Test/Worker threads
3. Test/Status
4. Test/Continue
5. Test/Exit
6. Advanced/Test
7. Advanced/Time
8. Advanced/P-1
9. Advanced/ECM
10. Advanced/Manual Communication
11. Advanced/Unreserve Exponent
12. Advanced/Quit Gimps
13. Options/CPU
14. Options/Preferences
15. Options/Torture Test
16. Options/Benchmark
17. Help/About
18. Help/About PrimeNet Server
Your choice:
|
Lege Dir eine ID bereit z.B. "peter_mprime" und gib deinem Pc bzw. Server einen eigenen Namen, z.B. "mprime_pc1", weil Du mehrere Maschinen auf mersenne.org verwalten kannst,die MPrime (oder Prime95 für Window$ PCs) laufen lassen.
Wähle dafür nacheinander die Menupunkte 1,2,13 und 14 aus, beantworte die
Fragen. Du kannst vorerst die Vorgaben mit <Return> übernehmen, wir kommen weiter unter darauf zurück und Du kannst die Eingaben jederzeit verndern. Und wähle dann Menüpunkt 4 um die Berechnungen zu starten.
Es erfolgen Kommunikationen des Programms mprime mit dem
PrimeNet-Server.
2.a) Echter CPU Takt
Vielleicht mußt Du noch die echte
CPU Taktzahl in MHz eingeben. Dies geschiet im ~/gimps Ordner im File "local.txt"; es müßte dort "CpuSpeed=1600" eingegeben werden, wenn die CPU mit ca. 1600 MHz taktet. Oft wird die CPU-Taktung falsch ausgelesen, so erschien es z.B. bei mir zuerst falsch im File "local.txt":
OldCpuSpeed=3176
NewCpuSpeedCount=0
NewCpuSpeed=0
...
Daraus wurde dann:
OldCpuSpeed=3178
NewCpuSpeedCount=0
NewCpuSpeed=0
CpuSpeed=1600
...
2.b) "worker" = mprime Instanzen & Multicore CPUs
Unter Menupunkt 2 kann man die Anzahl der "
worker" bestimmen. Ein Worker meint je eine Instanz des laufenden Programmes, also eine Vervielfältigung x Anzahl der "worker". Bei Prime95 für Window$ Computer heißt es "workerwindow".
Ich empfehle je einen worker für jeden echten CPU-Kern zu wählen. Die virtuellen Kerne von CPUs mit Hyperthreading bedeuten aufgrund des hochoptimierten MPrime-Codes keine echte Zuarbeit, wie Performance-Tests ergaben. Hyperthreading verdoppelt die Anzahl der für das betriebssystem sichtbaren CPU-Kerne. Hyperthreading bietet jedoch nicht die Leistung eines echten CPU-Kerns, deshalb werden sie auch virtuelle Kerne genannt. Die Nutzung von MPrime "workers" nach Anzahl der CPU-Kerne plus virtuellen Kerne, verlangsamt deshalb nur die doppelte Menge an sinnvollen "worker"-Instanzen auf etwas mehr als die Hälfte, also ein nachteil. Einen Vorteil habt Hyperthreading, so reagiert ein Computer, auf dem alle CPU-Kerne mit je einem "worker" ausgelastet werden, etwas flüssiger, wenn dieser Computer nebenbei für andere Arbeiten benutzt werden soll.
2.c) Dedizierte mprime Maschinen & Stromkosten
Bei allein der Arbeit für GIMPS/MPrime gewidmeten Rechnern (dedizierten Computern) macht es Sinn, die billigeren CPU Versionen ohne Hyperthreding zu wählen, etwa den Intel Core i5 anstelle des Core i7 oder möglichst Prozessoren mit vielen echten Kernen zu besorgen, wie die AMD Sechskern CPUs, z.B. AMD Phenom II X6 1100T Black Edition, 6x 3.30GHz.
Hierbei sollten auch die Stromkosten pro MPrime-Leistung gewertet werden. Und hier schneiden momentan die Intel I-Core 5 am besten ab (Leider
muß ich sagen, da ich ein AMD-Fan bin.)
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
|
PrimeNet CPU Benchmarks http://mersenne.org/report_benchmarks/
==========================================================================
CPU- Freq. [ FFT length ] [Trial Factoring] Leistung
Model /MHz [(2048K) (4096K)] [ TF (65bits) ] (Watt)¹)
[(All timings in milliseconds) ] System
--------------------------------------------------------------------------
AMD Fusion E-350 1596 222.03 491.02 15.18 ~ 30- 35
AMD Phenom II X6 1100T 3310 32.68 69.54 3.85 ~100-150
Intel Core i5-2500K 3330 23.94 53.24 3.49 ~ 75-100
--------------------------------------------------------------------------
¹) Systemleistung,roh,ohne PCIe Grafikkarte mit wenig/sparsamer Peripherie
|
Quellen:
http://en.wikipedia.org/wiki/Prime95
http://www.mersenne.org/report_benchmarks/
http://mersenne-aries.sili.net/throughput.php
http://dsl-wiki.cs.uchicago.edu/index.ph…_benchmark_test
3) Autostart von MPrime
3.a) Editieren der "crontab", siehe
https://help.ubuntu.com/community/CronHowto
|
Quellcode
|
1
2
3
4
5
6
7
8
9
|
master_and_commander@1stcomputer:~$ cd gimps
master_and_commander@1stcomputer:~/gimps$ crontab -e
Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano <---- easiest
3. /usr/bin/vim.tiny
Choose 1-3 [2]: _
|
Bestätige die Vorgabe (2) mit <RETURN>.
Es erscheint das Editor-Fenster des "nano" mit dem Inhalt der crontab-Datei:
|
Quellcode
|
1
2
3
4
5
6
7
|
GNU nano 2.2.6 Datei: /tmp/crontab.2smR8O/crontab
[ eine Zeile gelesen ]
^G Hilfe ^O Speichern ^R Datei öffn^Y Seite zurü^K Ausschneid^C Cursor
^X Beenden ^J Ausrichten^W Wo ist^V Seite vor ^U Ausschn. r^T Rechtschr.
|
Gib direkt hier folgende Zeile ein, speichere mit <Strg-O> und verlasse den Editor nano mit <Strg-X>
|
Quellcode
|
1
|
@reboot /home/master_and_commander/gimps/mprime &
|
Erklärung:
"
@reboot" d.h. bei jedem Bootvorgang ..
tue " /home/master_and_commander/gimps/mprime &", d.h. in der bash shell, gehe in das Unterverzeichnis gimps mit dem MPrime Programmcode " /home/master_and_commander/gimps/mprime" ..
und führe das Progamm mprime aus und lasse es im Hintergrund ("
&") laufen, d.h. ohne Ausgabe nach stdout (=Terminalfenster).
Oder versuche dieses Kommando:
|
Quellcode
|
1
2
3
|
master_and_commander@1stcomputer:~$ echo "@reboot /home/master_und_commander/gimps/mprime & " | crontab -
[sudo] password for master_and_commander:
master_and_commander@1stcomputer:~$
|
4) Anpassungen:
4.a) Dies sind meine CPU Information:
AMD E-350 Processor
CPU speed: 1569.06 MHz, 2 cores
CPU features: Prefetch, MMX, SSE, SSE2
L1 cache size: 32 KB
L2 cache size: 512 KB
RAM: 2GB of DDR3-1066 DDR-SDRAM (8.525 GB/s CPU/GPU shared bandwidth)
4.b) Hier sind meine angepassten mprime steuernden Textdateien:
Mein "local.txt" File:
OldCpuSpeed=3178
NewCpuSpeedCount=0
NewCpuSpeed=0
CpuSpeed=1600
ComputerGUID=*******
ComputerID=*******
WorkerThreads=2
ThreadsPerTest=1
Pid=0
SrvrUID=*******
SrvrComputerName=*******
SrvrPO1=0
SrvrPO2=1
SrvrPO3=6
SrvrPO4=512
SrvrPO5=768
SrvrPO6=450
SrvrPO7=1410
SrvrPO8=1
SrvrPO9=2
SrvrP00=2
LastEndDatesSent=*******
RollingHash=*******
RollingStartTime=0
RollingCompleteTime=*******
RollingAverage=1000
[Worker #1]
Affinity=0
Memory=512 during 7:30-23:30 else 768
[Worker #2]
Affinity=1
Memory=512 during 7:30-23:30 else 768
Mein "prime.txt" File:
V24OptionsConverted=1
WGUID_version=2
StressTester=0
UsePrimenet=1
DialUp=1
V5UserID=*******
AskedAboutMemory=1
WorkPreference=0
OutputIterations=10000
ResultsFileIterations=999999999
DiskWriteTime=30
NetworkRetryTime=30
NetworkRetryTime2=30
DaysOfWork=6
DaysBetweenCheckins=1
NumBackupFiles=3
SilentVictory=0
AMPM=2
TimingOutput=3
TimeStamp=2
CumulativeTiming=1
BootDelay=180
StaggerStarts=30
SequentialWorkToDo=0
InterimFiles=10000
GmpEcmHook=1
MaxLoad=4.1
MinLoad=2.9
PauseTime=3
UnreserveDays=61
[PrimeNet]
Debug=0
ProxyHost=
Siehe:
~/gimps/undoc.txt
This file lists the undocumented features available in the program.
These features may change or be discontinued at any time. Their use is
totally unsupported.
5. See also these postings:
*
How to install mprime on Ubuntu Server , im
GIMPS mersenneforum.org , vom Juni 2011
*
MPrime Daemon start-up script , in other ubuntu forums, from December 11th, 2005
*
[SOLVED] crontabs job , in other ubuntu forums.
Enjoy
!