Mit Hnden unf Fen 
Multicores ausreizen 
----------------------------------------------------
c't 7/09 S.102

piprime.sln    Visual Studio 2008 Solution mit piprime.cpp 
piprime.exe    ausfhrbare 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 Testprogrmmchen um Primzahlen in Pi aufzuspren. Es benutzt dazu die 
Number Theory Library und einen Test, der mit sehr hoher Wahrscheinlichkeit die Primalitt von Zahlen bestimmt. 
Die Sequence steht in pi.txt -- hier kann natrlich auch irgendeine andere Zahlensequenz eingetragen werden.  

Piprime-Parameter: 
piprime                --- luft von 1 bis MAXPI (1000000) mit Inkrement 1 
piprime start          --- testet nur diese Lnge 
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 Prioritt 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 hinzuzufgen, entweder in den Projekteigenschaften oder als Ergnzung 
bei den VC++-Verzeichnissen (unter Menpunkt 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)   


      


 



