-
baxnimis
-
Autore della discussione
-
Offline
-
RAM >4 GB
-
-
BOINC.Italy Admin
-
Messaggi: 6589
-
Ringraziamenti ricevuti 1
-
-
-
-
|
Traduco un pezzo di un
post
fatto dall'utente Zydor sul forum di Moo!Wrapper
secondo me spiega abbastanza bene il bug del blocco di due core della CPU da parte del client di Moo, i tempi a volte lunghissimi di elaborazione e i saltuari fault del driver ATI
Sono al 99% convinto che il problema sia un misto tra i set della scheda video e l'uso di client solo CPU contemporaneamente al client Moo.
APPLICAZIONI
Ci sono fondalmentalmente due tipi di applicazioni per i progetti GPU. Alcuni sono scritti nel linguaggio nativo delle GPU, altri sono scritti in OpenCL.
Questo è valido sia per nVidia che per AMD (ATI) ma mentre la maggiorparte delle applicazioni per nVidia è scritta in CUDA, AMD invece sta sempre più puntando su OpenCL per le sue ATI.
Ci sono ancora problemi con l'implementazione di OpenCL dal momento che è relativamente nuovo ma nel bene e nel male (probabilmente più nel bene alla lunga) AMD sta puntando tutto su OpenCL.
Moo! è una applicazione in OpenCL mentre Collatz e Milkyway sono state scritte nel vecchio linguaggio nativo ATI oppure in CUDA per GPU nVidia, e sono decisamente più veloci proprio per questo motivo. La differenza è tutta qui, è evidente, Moo! è l'unico scritto in OpenCL ed è noto che questo ha un bug che colpisce sia nVidia che ATI: i computer che utilizzano più di una GPU si trovano con un core della CPU bloccato per ogni GPU utilizzata.
In casa ATI quelle maggiormente colpite sono la 5970 (confermo, ndr) e la 6990. Le GPU singole non presentano questo problema. I computer con ad esempio 2 singole 5870 ne sono colpiti ma non sempre.
Moo! gira all'interno di un BOINC Wrapper che è una applicazione che permette di far girare un client scritto in qualsiasi linguaggio. Nel caso di Moo! l'applicazione base è quella di DNet (probabilmente scritta in C++ ma non fa differenza) ma il client del progetto è scritto in OpenCL. BOINC parla all'applicazione attraverso OpenCL e quindi è affetto dal bug.
AMD sta lentamente cercando di risolvere il bug e pare che stiano testando un fix per Linux ma non ancora per Windows (ndr: ho letto di una release 11.9 dei driver che ha risolto il problema su Windows in molti casi ma non in tutti).
Dunque i computer si ritrovano con un core bloccato per ogni GPU utilizzata ma BOINC non ne tiene conto e permette di utilizzare tutti i core disponibili per gli altri progetti CPU.
Facciamo un esempio: su un quad con hyper-threading possono girare 4x2=8 WU che occupano 8 core ma ci sono anche i 2 core utilizzati da una eventuale ATI 5970 (ndr: e io aggiungo anche l'utilizzo saltuario della CPU fatto da WUProp e FreeHAL).... abbiamo 8 core a disposizione ma ne vengono richiesti 10 o a volte 11!!!
Questo rallenta di molto l'applicazione GPU perché le applicazioni CPU hanno una priorità più elevata, e ogni tanto può anche succedere che il sistema vada in crash (ndr: confermo).
La soluzione è quella di permettere a BOINC di utilizzare 2 core in meno di quelli disponibili (quindi nell'esempio solo 6 su 8). Come si fa?
Menu PREFERENZE DI ELABORAZIONE -->
Scheda USO DEL PROCESSORE -->
Su sistemi multiprocessore USA AL MASSIMO il 75% dei processori
Le applicazioni di Milkyway e Collatz funzionano bene anche se BOINC sfrutta tutti i core a disposizione... al massimo ne sono leggermente rallentate.
Personalmente ho questa esperienza:
ATI 5970 (2 GPU): 2 core bloccati --> limito BOINC a -2 (altrimenti i tempi di elaborazione sono altissimi) ma ogni tanto mi va in crash il driver video se gira anche FreeHAL. Se non gira FreeHAL o se limito BOINC a -3 non ho crash.
ATI 6950 (1 GPU): tutto OK ma limito comunque BOINC a -1 per ridurre i tempi di elaborazione (qui il miglioramento è leggero)
Avete esperienza simili?
|
Si prega Accedi o Crea un account a partecipare alla conversazione.
Ultima Modifica: da baxnimis.
|
-
morse
-
-
Offline
-
Administrator
-
-
Messaggi: 9196
-
Ringraziamenti ricevuti 3
-
-
-
-
|
Non ero nemmeno a conoscenza di questi problemi.
Comunque quando ho elaborato con Moo! non ho mai avuto problemi di crash o simili.
Una cosa che avevo notato è che l'elaborazione sull'NVIDIA era molto più lenta rispetto all'ATI.
Se tornerò ad elaborare su questo progetto proverò a fare quello che hai scritto
PC1: Intel Q9400 2.66 GHz, ASUS P5KC, nVidia GeForce 9400GT (smontata al momento), ATI HD5850, maxtor 250 GB, 4 GB ram Kingston.
PC2: Intel E8400 3.0 GHz, ASROCK G31M-GS, 2 GB ram Kingston, maxtor 80 GB, nVidia GTX275
http://stats.free-dc.org/badges.php?proj=yoy&id=17281&rows=1
|
Si prega Accedi o Crea un account a partecipare alla conversazione.
|
-
astroale
-
-
Offline
-
Referente QCN / Radioactive
-
-
Messaggi: 3908
-
Ringraziamenti ricevuti 106
-
-
-
|
baxnimis ha scritto:
Avete esperienza simili?
No, avendo una 5770, però ho notato da quando elaboro con moo!, avendo un secondo monitor, che se sul primo faccio andare di scroll alcune applicazioni, quelle aperte sul secondo monitor mostrano degli artefatti, "fibrillano" temporaneamente. E in qualche caso raro (dovuto allo scroll solo di un particolare tab di una applicazione) la grafica si impasta invece in modo permanente tanto che non si capisce più nulla e devo fare il reboot alla cieca da tastiera.
Questo con primegrid, DNETC e collatz non succedeva.
|
Si prega Accedi o Crea un account a partecipare alla conversazione.
Ultima Modifica: da astroale.
|
-
morse
-
-
Offline
-
Administrator
-
-
Messaggi: 9196
-
Ringraziamenti ricevuti 3
-
-
-
-
|
Ho provato per sfizio a fare la prova di liberare un core e sembra che l'elaborazione sia molto più veloce. Faccio ancora diverse wu per verificare la tendenza.
Ma più o meno le wu di moo durano tutte lo stesso tempo (minuto più o meno)?
PC1: Intel Q9400 2.66 GHz, ASUS P5KC, nVidia GeForce 9400GT (smontata al momento), ATI HD5850, maxtor 250 GB, 4 GB ram Kingston.
PC2: Intel E8400 3.0 GHz, ASROCK G31M-GS, 2 GB ram Kingston, maxtor 80 GB, nVidia GTX275
http://stats.free-dc.org/badges.php?proj=yoy&id=17281&rows=1
|
Si prega Accedi o Crea un account a partecipare alla conversazione.
|
-
astroale
-
-
Offline
-
Referente QCN / Radioactive
-
-
Messaggi: 3908
-
Ringraziamenti ricevuti 106
-
-
-
|
morse ha scritto:
Ho provato per sfizio a fare la prova di liberare un core e sembra che l'elaborazione sia molto più veloce. Faccio ancora diverse wu per verificare la tendenza.
Sulle mie (4770, e 5770) i core della CPU rimangono liberi senza fare nessuna modifica.
Ma più o meno le wu di moo durano tutte lo stesso tempo (minuto più o meno)?
Sulla stessa GPU si, ma non c'è proporzionalità tra velocità della GPU e durata della WU. Sulla 5770 che come RAC va più del doppio della 4770 le WU durano il doppio che sulla 4770.
|
Si prega Accedi o Crea un account a partecipare alla conversazione.
|
-
morse
-
-
Offline
-
Administrator
-
-
Messaggi: 9196
-
Ringraziamenti ricevuti 3
-
-
-
-
|
astroale ha scritto:
morse ha scritto:
Ho provato per sfizio a fare la prova di liberare un core e sembra che l'elaborazione sia molto più veloce. Faccio ancora diverse wu per verificare la tendenza.
Sulle mie (4770, e 5770) i core della CPU rimangono liberi senza fare nessuna modifica.
Ma più o meno le wu di moo durano tutte lo stesso tempo (minuto più o meno)?
Sulla stessa GPU si, ma non c'è proporzionalità tra velocità della GPU e durata della WU. Sulla 5770 che come RAC va più del doppio della 4770 le WU durano il doppio che sulla 4770.
Elaboro l'ultima wu con il core libero poi provo a rimettere tutto come prima e vedere se ci sono delle differenze
PC1: Intel Q9400 2.66 GHz, ASUS P5KC, nVidia GeForce 9400GT (smontata al momento), ATI HD5850, maxtor 250 GB, 4 GB ram Kingston.
PC2: Intel E8400 3.0 GHz, ASROCK G31M-GS, 2 GB ram Kingston, maxtor 80 GB, nVidia GTX275
http://stats.free-dc.org/badges.php?proj=yoy&id=17281&rows=1
|
Si prega Accedi o Crea un account a partecipare alla conversazione.
|
Moderatori: campos, ReLeon
Tempo creazione pagina: 0.129 secondi