Mit Händen unf Füßen 
Multicores ausreizen 
----------------------------------------------------
c't 7/09 S.102

piprime.sln    Visual Studio 2008 Solution mit piprime.cpp 
piprime.exe    ausführbare Datei
pi.txt         Pi auf 1 Mio Stellen 
ntlSSE2mt.lib  Number Theory Library 5.4.2 (http://www.shoup.net/ntl/)
priprime.txt   das hier
mscan.bat      Batchprogramm um Virenscanner parallel anzustarten (mit Avira avcls) 


Piprime ist ein kleines Testprogrämmchen um Primzahlen in Pi aufzuspüren. Es benutzt dazu die 
Number Theory Library und einen Test, der mit sehr hoher Wahrscheinlichkeit die Primalität von Zahlen bestimmt. 
Die Sequence steht in pi.txt -- hier kann natürlich auch irgendeine andere Zahlensequenz eingetragen werden.  

Piprime-Parameter: 
piprime                --- läuft von 1 bis MAXPI (1000000) mit Inkrement 1 
piprime start          --- testet nur diese Länge 
piprime start ende     --- ab start bis ende mit Inkrement 1 
piprime start ende delta --- ab start bis ende mit Inkrement delta 
piprime start ende delta -n  --- ohne Linefeed bei "prime not found", verbessert die Übersicht 
 
Die Multikern-Ausnutzung geschieht mit launch.exe, zum Beispiel auf einem Quad-core:

launch /u=4 /c=B /p="$(20000+r) 30000 $(u) -n" /rk piprime

starte vier Instanzen (/u=4) mit Priorität BELOWNORMAL (/c=B) in eigener Konsole (/rk) mit den Parametern 
piprime 20000 30000 4 -n 
piprime 20001 30000 4 -n 
piprime 20002 30000 4 -n 
piprime 20003 30000 4 -n 
 
Zur Kompilation sind Pfade zu den Lib und Include-Dateien hinzuzufügen, entweder in den Projekteigenschaften oder als Ergänzung 
bei den VC++-Verzeichnissen (unter Menüpunkt Optionen).  Die Include-Dateien sind Bestandteil des NTL-Pakets: 
http://www.shoup.net/ntl/download

mscan.bat ist ein kleines Beispielprogramm, wie man mit dem Start-Befehl einen Virenscanner gleichzeitig auf mehrere Laufwerke   
anstarten kann: zum Beispiel mscan c: d: e: 
mscan benutzt dazu Avira avcls mit den Parametern -s (Subdateien) -z (entpaccken) -v (ganze Datei scannen), bei anderen Scanner 
sind die Parameter entsprechen anzupassen 


Viel Spaß 
as (am 14.3 1:59.26)   


      


 



