48mo Numero Primo di Mersenne finalmente scoperto!!!!
Scarica il software
In questa pagina sono descritte le
caratteristiche del programma
che in precedenza non sono state documentate. Tali caratteristiche
possono
essere cambiate o eliminate in ogni momento e nessun supporto è fornito
per il
loro utilizzo.
- Potete forzare il programma ad utilizzare dei nomi differenti per
sei dei files
che vengono installati sul computer assieme al programma. Questa
caratteristica è stata aggiunta per rispondere alle richieste di quegli
utenti che hanno installate delle utilities di sicurezza che
impediscono a qualunque programma di modificare dei files con
estensione *.ini. Possono darsi naturalmente altri casi per cui tale
caratteristica si rivela utile. Alla stessa maniera potete specificare
anche una cartella di lavoro per Prime95 diversa da quella in cui
risiede l'eseguibile (è lo stesso che aggiungere l'argomento -W alla
linea di comando). Nel file prime.ini inserite le linee di testo:
prime.ini=nome_che_avete_scelto;
local.ini=nome_che_avete_scelto;
worktodo.ini=nome_che_avete_scelto;
prime.log=nome_che_avete_scelto;
prime.spl=nome_che_avete_scelto;
results.txt=nome_che_avete_scelto;
WorkingDir=nome_che_avete_scelto;
- Potete modificare
il comportamento del programma a seconda della fase della giornata.
- Potete limitare le operazioni di
fattorizzazione su di un esponente. Questa caratteristica non dovrebbe
essere utilizzata nel caso di un uso automatico del programma
attraverso il server Primenet. Per impedire al programma di
fattorizzare un esponente oltre il limite di 2^n, inserite
questa linea nel file prime.ini: FactorOverride=n.
- Potete forzare l'utilizzo del formato di
visualizzazione dell'ora utilizzando il formato AM/PM (a 12 ore) ovvero
quello a 24 ore. Sarà altrimenti il programma a decidere in base al
formato utilizzato dal sistema operativo. Aggiungete questa linea al
file prime.ini: AMPM=n, dove n è 1 per il formato AM/PM,
mentre n è 2 per il formato a 24 ore.
- Potete decidere quante cifre decimali far visualizzare dal
programma nella finestra principale. Nel file prime.ini aggiungete la
linea: PercentPrecision=n, dove n è compreso tra 0 e 6.
- Potete decidere se il programma utilizzerà
l'orologio di sistema ad alta precisione, quello standard ovvero
l'R.D.T.S.C. (read timestamp counter instruction) per assegnare un
orario agli eventi. Per impostazione di default Prime95 utilizza
l'orologio di sistema ad alta precisione, se è disponibile. Nel file
prime.ini aggiungete la linea: RdtscTiming=n. Per default n =1
e potete impostare il valore 0 per utilizzare l'orologio di sistema
standard; 1 per utilizzare l'R.D.T.S.C. ma senza che venga visualizzato
il conteggio totale dei clocks; 2 per utilizzare l'R.D.T.S.C. con la
visualizzazione dei clocks totali. I precedenti valori avranno effetto
solamente qualora non sia disponibile un orologio di sistema ad alta
precisione. Potete forzare il programma a bypassare l'orologio ad alta
precisione aggiungendo 10 ai precedenti valori.
- Potete modificare il modo in cui il
programma visualizza i tempi. Nel file prime.ini aggiungete la linea: TimingOutput=n,
dove n=1 per visualizzare i tempi in secondi con tre decimali
di precisione, n=2 per visualizzare i tempi in millisecondi con 1
decimale di precisione, n=3 per visualizzare i tempi in millisecondi
con 2 decimali di precisione,
n=4 per visualizzare i tempi in millisecondi con 3 decimali di
precisione.
- Potete far sì che il programma smetta di visualizzare date e
tempi sullo schermo. Nel file prime.ini aggiungete la linea: TimeStamp=0.
- Potete far sì che i tempi visualizzati
siano cumulativi (da quando il programma riparte o da quando comincia
un test su di un nuovo esponente) piuttosto che essere azzerati ad ogni
visualizzazione. Nel file prime.ini aggiungete la linea: CumulativeTiming=1.
- Per default il programma non inizierà
alcun calcolo entro i primi 90 secondi dopo l'avvio del sistema.
Questa caratteristica fa sì che il programma non interferisca
minimamente con la velocità di caricamento del sistema operativo.
Potete decidere quanto a lungo il programma debba attendere prima di
avviarsi dopo l'avvio del sistema aggiungendo nel file prime.ini
la linea: BootDelay=n, dove n sono i secondi di attesa.
- Il programma implementa quattro
diversi percorsi di codice per l'esecuzione dei test che vengono
scelti sulla base delle caratteristiche del processore. Sono
altresì implementati anche dei percorsi di codice leggermente diversi
per la fase di fattorizzazione. E' possibile forzare il programma ad
adottare uno specifico percorso di codice, inserendo nel file prime.ini
la combinazione più adatta dei seguenti parametri a seconda delle
caratteristiche del vostro processore: CpuSupportsRDTSC=0 o 1;
CpuSupportsCMOV=0 o 1; CpuSupportsPrefetch=0 o 1; CpuSupportsSSE=0 o 1;
CpuSupportsSSE2=0 o 1. Tuttavia non dovrebbe essere necessario che
voi editiate il file prime.ini in tal senso poiché il programma
implementa le istruzioni di CPUID per verificare quali siano le
caratteristiche della vostra CPU rilevandone tipo e frequenza di
funzionamento.La rilevazione del tipo di CPU viene eseguita per
informare il server di quale sia il tipo di lavoro più adatto al vostro
sistema. Quest'informazione, unitamente alla frequenza, viene
utilizzata nel calcolo della stima delle date attese per il termine del
lavoro in coda e quindi per far sapere al server quanto lavoro
assegnarvi. Se, per qualche ragione, il programma non dovesse rilevare
correttamente tali informazioni, potete sovrascriverle nel file
local.ini: CpuOverride=1; CpuType=n; CpuSpeed=s, dove
n è 3=Cyrix, 4=486, 5=Pentium, 6=Pro, 7=K6, 8=Celeron, 9=P-II,
10=P-III, 11=K7, 12=P4 ed s è la frequenza del processore espressa in
MHz.
- Per default il programma inizia subito
la fase di fattorizzazione secondo il metodo di Pollard (P-1 factoring)
quando riceve esponenti che la richiedano anche se stava eseguendo un
test di primalità su di un esponente assegnato in precedenza. La ratio
di tale comportamento sta nel fatto che se un fattore viene trovato
subito in questa fase, il programma può ricontattare il server e
riservarsi un altro esponente. Questo evita che si possa manifestare lo
scenario in cui il test di Lucas-Lehmer relativo al primo esponente in
coda nel file worktodo.ini venga completato, un fattore venga
rapidamente trovato per l'esponente successivo ed il programma rimanga
inattivo qualora una connessione non sia disponibile. Inoltre, così
facendo, anche le stime per il termine dei vari test accodati
(visualizzabili tramite l'opzione "Status" del menù "Test") risultano
più precise in quanto si saprà per certo su quali esponenti sarà
necessario eseguire un intero test di primalità. Questo comportamento
si è purtroppo rivelato fonte di confusione soprattutto per i nuovi
utenti. Per ripristinare il vecchio comportamento che prevedeva
l'esecuzione dei test sugli esponenti accodati nel file worktodo.ini in
stretta sequenza, aggiungete questa linea nel file prime.ini: SequentialWorkToDo=0.
- Il programma non permette di accodare più di venti esponenti nel
file worktodo.ini. Per eliminare tale limitazione aggiungete la linea
seguente nel file prime.ini: MaxExponents=n.
- Per default, l'algoritmo E.C.M. si arresterà qualora venga
trovato un fattore per tutti gli esponenti superiori a 5825. Potete far
sì che tale algoritmo si arresti sempre ovvero continui nella ricerca
di fattori anche in caso in cui ne trovi uno inserendo 0 o 1 al posto
della n nella seguente linea del file prime.ini: ContinueECM=n.
- Potete forzare il programma a saltare la
fase conclusiva del primo stadio di fattorizzazione preliminare (GCD),
aggiungendo la seguente linea nel file prime.ini: Stage1GCD=0.
- Potete impedire a chiunque l'accesso al box di dialogo relativo
alle informazioni sull'utente accessibile tramite l'opzione "User
Information" del menù "Test" Inserite nel file prime.ini la linea: LockUserInfo=1.
- Potete forzare il programma a contattare il server ogni qualvolta
esso venga avviato, anche se davvero non esistono validi motivi per
farlo. Inserite nel file prime.ini: PingAtStartup=1.
- Potete far sì che il programma generi dei files dei file di
salvataggio (che non verranno cancellati automaticamente!) ogni n
iterazioni. Tali files avranno l'estensione .XXX, dove XXX sarà uguale
ad un'approssimazione dell'iterazione corrente diviso per n. Inserite
nel file prime.ini: InterimFiles=n. Questa caratteristica può
essere utile per monitorare l'andamento di un test senza avere la
possibilità di visualizzare la finestra del programma, ad esempio per
dei computer connessi in LAN. La controindicazione è quella dello
spazio su disco richiesto.
- Potete forzare il programma a generare dei residui ogni n
iterazioni. Inserite nel file prime.ini: InterimResidues=n.
- Potete far sì che Prime95 salti la fase di trial factoring prima
dell'esecuzione di un test di primalità di Lucas-Lehmer test.
Aggiungete al file prime.ini questa linea: SkipTrialFactoring=1. Potete
altresì forzare l'esecuzione della fattorizzazione P-1 aggiungendo al
file worktodo.ini le seguenti linee:
Pfactor=esponente,numero_dei_bit_già_fattorizzati,se_è_già_stato_testato.
Ad esempio: Pfactor=10000157,64,0 (10000157=esponente; 64=bit
sino a cui l'esponente è già stato fattorizzato; 0=non è mai stato
testato).
- Potete ridurre il numero delle volte che il file worktodo.ini
viene letto aggiungendo nel file prime.ini: WellBehavedWork=1. Questa
opzione è attivabile solo se nel vostro file worktodo.ini siano
accodati esponenti da fattorizzare (Factor=...). E' consigliabile
attivare quest'opzione solamente nel caso in cui aveste davvero molti
esponenti in coda ed il vostro computer sia particolarmente veloce In
questo caso dovrete arrestare Prime95 prima di modificare il file
worktodo.ini.
- Nel menù "Advanced/Time" potete inserire nel campo riservato
all'esponente un valore compreso tra 9994 e 9999 così da mandare in
esecuzione uno script QA. Questo tipo di scripts hanno la seguente
forma: 64511,0,400,99999999,3389BC878321980A, dove il primo valore è
l'esponente, il secondo è la dimensione della FFT con zero che
significa "utilizza la dimensione della FFT standard". Il terzo valore
corrisponde al numero di iterazioni da eseguire. Il quarto valore
corrisponde invece allo shift nel conteggio(se tale shift è maggiore
dell'esponente, il programma genererà uno shift random).L'ultimo valore
è il residuo a 64-bit atteso. I valori tra 9994 e 9999 forzano
l'esecuzione di un codice leggermente diverso. I valori 9999 e 9998
mandano in esecuzione un codice per il calcolo di mere radici quadrate;
inserire 9998 fa sì che, in aggiunta, vengano raccolti anche alcuni
dati sulla deviazione standard. Anche il valore 9997 forza il calcolo
di radici però utilizza pure le routines generiche
somma/sottrai/moltiplica. Il valore 9996 manda in esecuzione le
operazioni tipiche dell'algoritmo E.C.M. Il residuo finale non
coinciderà, però i dati relativi all'errore di convoluzione saranno
utili in ogni caso.
- Potete cercare fattori di un dato range di esponenti
specificando un limite inferiore (incluso) di bits, b1, ed uno
superiore, b2 (incluso). Probabilmente tale caratteristica sarà rimossa
nelle versioni future del programma. Aggiungete questa linea al vostro
file worktodo.ini: AdvancedFactor=esponente_di_partenza,esponente_di_arrivo,b1,b2.
- L'opzione appena citata, AdvancedFactor, utilizza il nome
p0000000 per i file di continuazione. Questo può causare dei problemi
se provate a far girare due copie di Prime95 dalla medesima cartella su
di un sistema biprocessore ed eseguendo lavori di fattorizzazione
utilizzando il menù "Advanced/Factoring". Aggiungete dunque questa
linea al file prime.ini per forzare l'utilizzo di nomi differenti per i
file di continuazione: AdvFacFileName=nomefile. In
"AdvancedFactor", un esponente di partenza pari a 8888 forza la lettura
di un file chiamato "factors". Il programma cerca quindi di trovare
nuovamente ciascun fattore utilizzando il codice di fattorizzazione.
Questo, evidentemente, non è un modo efficiente di verificare dei
fattori in quanto così si salta del tutto il processo di scrematura e
di verifica di molti potenziali fattori.
- Nel file local.ini, potete inserire valori negativi sia per la
memoria utilizzabile dal programma durante il giorno che quella
utilizzabile di notte. Valori negativi significano che il programma
potrà utilizzare tutta la memoria di sistema tranne l'ammontare
specificato da tali valori. Ad esempio: se avete un sistema con 128 Mb
di RAM, un valore di -32 significa che Prime95 potrà usare 128-32=96 Mb
di RAM.
- Potete decidere quale dimensione di FFT sarà utilizzata durante
il tets della tortura. Nel file prime.ini potete impostare: MinTortureFFT=n;
MaxTortureFFT=m, dove n ed m sono espressi in Kb. I valori di
default per n e per m sono rispettivamente 8 e 1024 che portano
all'esecuzione di test che utilizzeranno a caso FFT di dimensione
compresa tra questi valori. Se imposte valori bassi per n e per m (ad
esempio 8 e 16) potrete ottenere che tutte le FFT siano contenute nella
cache di 2° livello di modo che lo stress per la FPU sia ancora
maggiore.
- Potete controllare per quanti minuti ciascuna dimensione delle
FFT venga testata durante un test della tortura. Sarà sufficiente che
inseriate nel file prime.ini: TortureTime=n. dove n sono i
minuti. Il valore di default è di un quarto d'ora.
- Di solito il programma esegue un controllo
d'errore round-off ogni 128 iterazioni. Quando testa un esponente
vicino alla soglia della dimensione di una FFT, il programma esegue
tale controllo ogni iterazione. Potete controllare anche quest'aspetto
di un test. Inserite nel file prime.ini la linea: NearFFTLimitPct=valore.
Il valore di default è 0,5 il che significa che se l'esponente
che state testando è entro lo 0,5% del massimo esponente che possa
essere testato utilizzando la dimensione corrente di FFT, allora il
programma eseguirà il controllo extra. se impostate un valore pari a
0,0 escluderete questa forma di controllo d'errore round-off extra.
- Quando selezionate l'opzione "Tray Icon" oppure "No Icon", fare
click sulla "X" sull'angolo in alto a sinistra della barra del titolo
della finestra del programma provocherà la sua riduzione ad icona
anziché la sua chiusura. Per far sì invece che Prime95 venga chiuso
assieme alla chiusura della sua finestra sarà sufficiente inserire la
linea ExitOnX=1 nel file prime.ini.
- Potete cambiare il nome del servizio
visualizzato dall'applet del pannello di controllo dei sistemi
operativi Windows® NT/2000/XP nonché il "service display name". I nomi
di default per entrambe sono "Prime95 Service". Impostate nel file
prime.ini: ServiceName=Vostro_nome;
DisplayName=vostro_service_display_name. Potreste voler far questo
qualora facciate girare due copie di Prime95 in cartelle differenti su
di un sistema biprocessore piuttosto che farle girare nella stessa
cartella con l'argomento della linea di comando -A1.
- Il programma non utilizza più dei punti fissi di salto tra le
differenti dimensioni delle FFT. E' stato introdotto un salto "morbido"
che ha due possibilità di regolazione tramite il file prime.ini: SoftCrossovers=n e
SoftCrossoverAdjust=n. La prima opzione controlla quali esponenti
prendere in considerazione per un eventuale salto. L'impostazione di
default è 0,2 il che significa che un esponente che sia lo 0,2% sopra o
sotto un punto di salto verrà testato utilizzando la migliore (nel
senso di più veloce) dimensione di FFT. Un valore pari a 0,0 escluderà
questa opzione. La seconda opzione controlla invece il livello di
aggressività o di prudenza che il programma adotterà nella scelta della
dimensione della FFT. In questo caso il valore di default è 0,000. Il
programma utilizzerà la dimensione più piccola (e quindi più veloce) di
FFT se la media del controllo di errore round-off è inferiore ad un
valore compreso tra 0,241 e 0,243. se ad esempio impostate un valore
per il parametro SoftCrossoverAdjust a 0,003 allora il programma
utilizzerà la più piccola FFT se l'errore round-off medio è compreso
tra 0,244 e 0,246. Questo genererà più iterazioni che produrranno il
messaggio di avvertimento di "round-off error>0.40" ed una perdita
di tempo dovuta al fatto che il programma ritornerà all'ultimo file
salvato con successo. Aumenterà parallelamente la possibilità che si
verifichi un errore di round-off>0,6 che è considerato fatale per un
test, nel senso che occorrerebbe incominciare da capo. Per di più,
utilizzare FFT più piccole significa velocizzare l'esecuzione del test
cosicché è sconsigliabile impostare per quest'opzione un valore
superiore a 0,006.Se impostate un valore per l'opzione
SoftCrossoverAdjust di diciamo -0.002, allora il programma sarà più
conservativo ed utilizzerà più spesso delle FFT appartenenti al range
superiore.
- Alexander Kruppa ha scritto del codice che consente di
passare i risultati dello stadio 1 dell'E.C.M. allo stadio 2 GMP-E.C.M.
del programma di Paul Zimmermann che si è rivelato più efficiente.
Potete attivare questa caratteristica inserendo nel file prime.ini GmpEcmHook=1.
Quindi selezionate il limite #2 dell'E.C.M. tra 1 ed il limite #1. Il
file Results.txt conterrà dei dati che potranno essere passati al
GMP-E.C.M. per lo stadio 2.
- In rarissimi casi, sono state segnalate
interferenze del programma con le prestazioni di applicazioni quali le
utilità di deframmentazione ed alcuni giochi. Per ottenere dunque
l'arresto del
programma quando siano in esecuzione altri specifici programmi
occorrerà aggiungere la seguente linea al file prime.ini: PauseWhileRunning=prog1,prog2,prog3,
ecc. Si noti che Prime95 si fermerà se anche solamente
una parte
del nome dei programmi in esecuzione coincida con quelli che avete
inserito
nella lista. Ad esempio se avete specificato il nome "foobar", Prime95
si arresterà sia che stia girando l'eseguibile"c:\foobar.exe"
ma anche se stia girando l'eseguibile "C:\FOOBAR\nome.exe",
e persino se sia in esecuzione un programma che si chiami
"C:\myfoobarprog.exe".
- Di default, Prime95 controllerà la lista dei programmi in
esecuzione ogni 64 iterazioni, ma non più frequentemente che ogni dieci
secondi. Potete personalizzare questo lasso di tempo inserendo nel file
prime.ini la linea PauseCheckInterval=n, dove n sarà il nuovo
intervallo tra una verifica e l'altra espresso in secondi.
- Normalmente il programma restituirà al server un esponente se
l'inizio del test su tale esponente è previsto 30 giorni dopo il numero
massimo di giorni di lavoro che deve essere sempre in coda che avete
specificato nel menù "Test/Primenet". Potete aggiustare questo
intervallo inserendo nel file prime.ini la linea UnreserveDays=n, dove
n è il numero di giorni. Dovreste aumentare questo valore solo se
volete accodare parecchi esponenti nel vostro file worktodo.ini e non
volete rispedire al server alcun esponente.
- Di default, Prime95 utilizza le routines RAS per verificare se il
vostro modem è connesso o meno alla rete Internet. La Microsoft ora
preferisce le chiamate InternetGetConnectedState contenute nella
libreria WININET.DLL. Per utilizzare questo metodo di rilevamento della
connessione attiva invece delle routines RAS, aggiungete questa linea
al file prime.ini: AlternateModemDetection=1.