Jump to content

Xstreme
 Share

Recommended Posts

Ho appena buttato giù il codice di questa

piccola applicazione freeware, il codice

è identico per ogni core rilevato nella CPU,

il modulo principale si occupa della sincronia

dei trehead, in teoria , ed anche in pratica,

vengono ricercati numeri primi di elevata

fattura, ogni numero primo che viene scoperto,

gli viene calcolata in real-time la radice quadrata

in doppia precisione (ovvio), nel codice sorgente,

vi è gia una tabella con inseriti già tutte le radici

quadrate che possono essere trovate in formato

di testo, in modo da avere una stringa di testo,

che numericamente è invariabile :), ogni core

fà i suoi calcoli in modo indipendente, giunti alla

fine del ciclo "30 secondi" si contano i numeri

primi scoperti, che dovrebbero essere uguali

per ogni core della CPU, viene poi visualizzato

se qualche core ha fatto errori nel calcolare la

radice quadrata del 'numero primo' scoperto.

 

buon divertimento. :D

 

Download:

 

http://www.xstreme.it/Setup_PC_BETA_A3.exe

Edited by dj883u2
Link to comment
Share on other sites



  • Replies 437
  • Created
  • Last Reply

Top Posters In This Topic

Non ho ben capito come funziona... c'è da far partire uno ad uno i vari file PCR#?

 

Anzi..prima c'è da far partire il file principale primecore e poi ogni volta chiuderlo e riaprirlo per far i vari test dei core?

 

In ogni caso... 55 su un Core i7 leggermente overcloccato con qualche applicazione in background

 

Marco

Link to comment
Share on other sites

Non ho ben capito come funziona... c'è da far partire uno ad uno i vari file PCR#?

 

Anzi..prima c'è da far partire il file principale primecore e poi ogni volta chiuderlo e riaprirlo per far i vari test dei core?

 

In ogni caso... 55 su un Core i7 leggermente overcloccato con qualche applicazione in background

 

Marco

 

basta lanciare il file principale, gli altri anche se li lanci, senza

sincronia non funzionano, basta lanciarlo una volta sola, ti vede

i cores che hai e esegue lui tutto il resto.

 

55 ?? ottimo

 

se guardi la recensione su softpedia il tipo che lo ha provato gli ha dato 4 con un dual core, a me da 44 con un q6600

Link to comment
Share on other sites

basta lanciare il file principale, gli altri anche se li lanci, senza

sincronia non funzionano, basta lanciarlo una volta sola, ti vede

i cores che hai e esegue lui tutto il resto.

 

55 ?? ottimo

 

se guardi la recensione su softpedia il tipo che lo ha provato gli ha dato 4 con un dual core, a me da 44 con un q6600

 

uhm... se lancio quello principale si ferma li alla prima schermata e non fa nulla..ora provo a lasciarcelo qualche minuto e vediamo che succede.

 

Marco

Link to comment
Share on other sites

Lo sto già provando :)

 

20 sul T2300E@1.6Ghz

61 sull'E5200@3.6Ghz

 

 

l'importante è che non ti dia errori, le radici quadrate

che saltano fuori sono pre-memorizzate come semplice

testo, in modo da non subire variazioni, se in tempo

reale ti calcola una radice quadrata del numero primo

trovato, la corrispondenza numerica è effettuata

con la stringa di testo che deve contenere lo stesso

valore, se combaciano il processore lavora bene,

a differenza di altri software, che fanno più o meno

la stessa cosa, io ho lavorato su stringhe di testo,

anzichè valori numerici, per evitare che il calcolo

per la convalida di parità fosse per qualsiasi motivo

compromesso.

 

spero di essere stato abbastanza chiaro. :)

Link to comment
Share on other sites

PrimeCores.exe è l'eseguibile, gli altri 'exe' senza PrimeCores.exe non funzionano.

 

 

 

PrimeCores.exe : Applicazione principale

pcr1.exe : Questo EXE non funziona, è solo un modulo

pcr2.exe : Questo EXE non funziona, è solo un modulo

pcr3.exe : Questo EXE non funziona, è solo un modulo

pcr4.exe : Questo EXE non funziona, è solo un modulo

Link to comment
Share on other sites

Lo sto già provando :)

 

61 sull'E5200@3.6Ghz

 

 

In ogni caso... 55 su un Core i7 leggermente overcloccato con qualche applicazione in background

 

Marco

:cheazz:

 

pensavo che un core i7 con 8 thread facesse uno score decisamente più alto...rispetto a un e5200, almeno per un benchmark multithreaded :)

Link to comment
Share on other sites

allora...ma c'è da farli partire tutt insieme o uno alla volta? Tutti insieme il risultato è di 24, uno alla volta è 55.

 

Io in pratica lancio l'eseguibile generale, poi clicco in successione sui 4 moduli e li lascio finire giusto?

 

Marco

 

non devi cliccare nulla, la procedura è del tutto automatica,

l'applicazione rileva il numero di core in modo automatico,

dopodichè si adatta al processore in analisi , una volta

sincronizzati i core's, avvia i calcoli, ogni core ha una

sua finestrella che ne visualizza il comportamento, alla fine,

visti i risultati le finestrelle dei core, vanno chiuse a mano.

1) eseguire primecores

2) attendere

3) leggere i risultati

4) chiudere le finestrelle che fanno solo da monitor

5) fine :D

Link to comment
Share on other sites

per me qualcosa non è ottimizzato bene: io faccio un misero 36... :AAAAH:

 

i31842_Immagine.jpg

 

add esp,4

push 8000

call _bbDelay

add esp,4

push _38

call _brl_system_OpenURL

add esp,4

call _bbEnd

jmp _288

_288:

jmp _281

_281:

jmp _51

_52:

push ebp

mov ebp,esp

mov eax,0

jmp _177

_177:

mov esp,ebp

pop ebp

ret

_53:

push ebp

mov ebp,esp

mov eax,0

jmp _180

_180:

mov esp,ebp

pop ebp

ret

_54:

push ebp

mov ebp,esp

mov eax,0

jmp _183

_183:

mov esp,ebp

pop ebp

ret

section "data" data writeable align 8

align 4

_238:

dd 0

align 4

_57:

dd _bbStringClass

dd 2147483647

dd 18

dw 51,49,54,50,46,50,56,48,54,54,52,51,51,48,55,50

dw 57,53

align 4

_58:

dd _bbStringClass

dd 2147483647

dd 18

dw 51,49,54,50,46,50,57,48,49,53,49,49,52,48,52,54

dw 55,53

align 4

_59:

dd _bbStringClass

dd 2147483647

dd 18

dw 51,49,54,50,46,50,57,51,57,52,53,56,53,54,51,57

dw 51,55

align 4

_60:

dd _bbStringClass

dd 2147483647

dd 18

dw 51,49,54,50,46,50,57,54,55,57,49,56,57,48,51,53

dw 48,49

align 4

_61:

dd _bbStringClass

dd 2147483647

dd 18

dw 51,49,54,50,46,50,57,57,54,51,55,57,50,49,55,52

dw 53,50

align 4

_62:

dd _bbStringClass

dd 2147483647

dd 18

dw 51,49,54,50,46,50,57,57,57,53,52,49,52,55,50,57

dw 55,55

align 4

 

 

il codice è in assembler

compilato con il fat assembler v. 1.68

come vedi il grosso del codice sono le stringe di testo

utilizzate per la verifica, non penso che scrivere un codice

in assembler che trovi numeri primi e ne calcoli la radice quadrata

abbia bisogno di tutte queste ottimizzazioni, tu che ne dici ?

 

riguardo ancora l'ottimizzazione, mi sembra che i tuoi core's siano tutti al 100 % o mi sbaglio ?

Edited by Xstreme
Link to comment
Share on other sites

:cheazz:

 

pensavo che un core i7 con 8 thread facesse uno score decisamente più alto...rispetto a un e5200, almeno per un benchmark multithreaded :)

 

 

il codice è di una semplicità impressionante, questi calcoli li puoi fare

anche con la calcolatrice del telefonino

 

trova.....numero primo

calcola....radice quadrata del numero primo trovato;

per il multithreaded...beh...con 4 moduli fisicamente separati....che si auto-impostano l'affinity per il core utilizzato....piu multithreaded di cosi....si può ?

 

fatto.

 

:coolsmiley:

Edited by Xstreme
Link to comment
Share on other sites

l'importante è che non ti dia errori

[...........]

 

non si è manifestato alcun errore :)

 

 

 

[...........]

le radici quadrate che saltano fuori sono pre-memorizzate come semplice

testo, in modo da non subire variazioni, se in tempo reale ti calcola una radice quadrata del numero primo trovato, la corrispondenza numerica è effettuata con la stringa di testo che deve contenere lo stesso valore, se combaciano il processore lavora bene, a differenza di altri software, che fanno più o meno la stessa cosa, io ho lavorato su stringhe di testo, anzichè valori numerici, per evitare che il calcolo per la convalida di parità fosse per qualsiasi motivo compromesso.

spero di essere stato abbastanza chiaro. :)

 

 

sei stato abbastanza chiaro O0, ma considerati i risultati non congrui a seconda delle differenti tipologie di cpu, credo che bisognerebbe maggiormente approfondire, ovviamente se vuoi ;)

Link to comment
Share on other sites

sì ok... però il risultato che esce è per singolo core? oppure complessivo?

perchè se è per singolo core allora si può spiegare perchè un e5200 a 3600 faccia più di un core i7...altrimenti no!

 

ogni core è testato in modo indipendente,

ogni risultato è indipendente;

di complessivo esiste solo il sync per iniziare

i calcoli nello stesso istante.

 

:n2mu:

Link to comment
Share on other sites

non si è manifestato alcun errore :)

 

 

 

 

 

 

sei stato abbastanza chiaro O0, ma considerati i risultati non congrui a seconda delle differenti tipologie di cpu, credo che bisognerebbe maggiormente approfondire, ovviamente se vuoi ;)

 

a disposizione, quello che ti posso dire, che il codice e compilato

con nessuna ottimizzazione nel senso ne ottimizzazione Intel, ne

ottimizzazione Amd, non fa uso di directx, ne di opengl, invia i calcoli

al processore con la procedura che usa la calcolatrice integrata di windows,

se ci sono differenze tra una cpu ed un altra, vuol dire che le differenze

ci sono, prova con pc diversi ma con cpu della stessa famiglia,

se hai risultati omogenei vuo dire che il codice non falla,

io l'ho provato solo su cpu Intel, ho due pc con q6600,

uno overcloccato ed uno no, su quello overcloccato mi da 44,

su quello liscio mi da 35, ho invertito gli overclock, quella liscia l'ho overcloccata

e quella overcloccata l'ho messa liscia, ho rifatto i test e i risultati mi sono tornati 44 e 35, che dire ?

Link to comment
Share on other sites

il codice è in assembler

compilato con il fat assembler v. 1.68

come vedi il grosso del codice sono le stringe di testo

utilizzate per la verifica, non penso che scrivere un codice

in assembler che trovi numeri primi e ne calcoli la radice quadrata

abbia bisogno di tutte queste ottimizzazioni, tu che ne dici ?

 

riguardo ancora l'ottimizzazione, mi sembra che i tuoi core's siano tutti al 100 % o mi sbaglio ?

 

 

non volevo dubitare del codice anche perè essendo inge meccanico ne capisco come di cavoli e tacchi a spillo...

cmq è strano vedere un dual core e5200 dare la paga a tutti :( solo questo...

per il resto ho migliorato un pochino con settaggi diversi:

 

i31853_Immagine.jpg

Link to comment
Share on other sites

a disposizione, quello che ti posso dire, che il codice e compilato

con nessuna ottimizzazione nel senso ne ottimizzazione Intel, ne

ottimizzazione Amd, non fa uso di directx, ne di opengl, invia i calcoli

al processore con la procedura che usa la calcolatrice integrata di windows,

se ci sono differenze tra una cpu ed un altra, vuol dire che le differenze

ci sono, prova con pc diversi ma con cpu della stessa famiglia,

se hai risultati omogenei vuo dire che il codice non falla,

io l'ho provato solo su cpu Intel, ho due pc con q6600,

uno overcloccato ed uno no, su quello overcloccato mi da 44,

su quello liscio mi da 35, ho invertito gli overclock, quella liscia l'ho overcloccata

e quella overcloccata l'ho messa liscia, ho rifatto i test e i risultati mi sono tornati 44 e 35, che dire ?

 

allora la differenza sta nell'architettura. potrebbe dipendere anche dal sistema operativo?? dopo provo su windows xp per vedere se cambia da windows 7 ;)

Link to comment
Share on other sites

non volevo dubitare del codice anche perè essendo inge meccanico ne capisco come di cavoli e tacchi a spillo...

cmq è strano vedere un dual core e5200 dare la paga a tutti :( solo questo...

per il resto ho migliorato un pochino con settaggi diversi:

 

i31853_Immagine.jpg

 

io l'ho provato su due pc e un portatile, il portatile con amd turion, in effetti su amd è scarso, ma giuro che non ho ottimizato il codice per Intel, non so come mai.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...