World Community Grid, lanciata nel 2004 dall'IBM, è un tentativo di creare la più grande rete di calcolo distribuito pubblica del mondo per affrontare progetti di ricerca scientifica a beneficio dell'umanità. Il sito è attualmente tradotto in 5 lingue ma non ancora nella nostra. Da qui l'idea di creare una wiki in italiano, l'unica così completa in rete, per comprendere meglio gli scopi di questo importante progetto.
Aiutare ad ampliare questo progetto è facile: basta cliccare sul pulsante NUOVO ARTICOLO per iniziare subito a collaborare. Non c'è da preoccuparsi per la formattazione dell'articolo o se questo non riesce come vorreste al primo colpo; dopo di voi passerà sempre qualcuno e correggerà eventuali errori e/o migliorerà la pagina.
La ricerca ringrazia!
Iniziative
5-9-2010, 7:16
  • Decrease font size
  • Default font size
  • Increase font size
  • default color
  • color1 color
  • color2 color
  • color3 color

In evidenza


Aggiunta la storia dei core di Folding@home e le FAQ sul core GPU3 (in continuo aggiornamento).

.. Lo spazio ..

pulsar, onde gravitazionali, SETI, Via Lattea, galassie, supernove... lo spazio attrae da sempre l'uomo, alla ricerca delle sue origini

.. Proteine ..

sono le nanomacchine della biologia, i cavalli da traino presenti in ogni cellula di ogni essere vivente, studiarle significa comprendere le malattie

.. Il clima ..

il pianeta va verso il surriscaldamento? E a che ritmo? Siamo ancora in tempo? Migliaia di simulazioni per cercare una risposta

.. Numeri ..

per alcuni versi affascinanti, per altri utili. Numeri primi, congetture antiche da dimostrare, teorie e giochi moderni

.. La chimica ..

celle solari fatte di materiali organici, celle a idrogeno, nanomacchine, reattività e magnetismo molecolare. La ricerca è illimitata

Folding@home FAQ - Core GPU2

Una serie di approfondimenti, domande e risposte sulla seconda generazione di applicazioni per GPU, chiamata appunto GPU2, sia per hardware NVIDIA sia per hardware ATI. Lo stile utilizzato è volutamente lo stesso delle pagine del sito ufficiale del progetto (visto che questa ne è la traduzione integrale) che però attualmente non dispone di una traduzione italiana completa.

 

Contenuti


Istruzioni di base

Questa pagina web ospita sia le FAQ che le Note di Rilascio per questo nuovo client e noi la aggiorneremo non appena saranno disponibili eventuali nuove informazioni.

Il programma di installazione (installer) del Client GPU dovrebbe essere tutto ciò di cui si ha bisogno. Esso installa il nuovo client v6.x in stile SysTray, così come i file DLL utilizzati dal nuovo client. Scarica il client dalla Pagina dei dowload per Client ad elevate prestazioni, solo per esperti. La Guida per GPU su Windows può esserti utile per l'installazione del client GPU2.

Requisiti per elaborare con GPU NVIDIA:

Requisiti per elaborare con GPU ATI:

  • Una scheda grafica ATI della serie 2xxx/3xxx/4xxx/5xxx, o più recente
  • Un driver ATI Driver, versione 8.1+, v8.3 o successivo (meglio) fino al 9.2 (la v9.3 non è ancora supportata): NON utilizzare driver OEM
  • Raccomandato l'uso di Microsoft .NET Framework 2.0, meglio se con i vari aggiornamenti già installati
  • Sistema operativo Windows (32 o 64 bit), XP SP2 o successivo

Mentre il client GPU2 non è una versione beta, i core sono ancora in beta e ci aspettiamo che ci siano dei problemi. Per minimizzarli abbiamo testato i software a lungo in casa e girano bene. Ma l'esperienza ci insegna che far girare una applicazione su un sistema controllato da laboratorio e farla girare su sistemi "esterni" sono due cose ben diverse.

Come è solitamente buona norma per l'uso di qualsiasi versione beta, assicuratevi di aver fatto un back-up del vostro hard disk, e di non far girare l'applicazione su PC che non tollerano problemi di instabilità.


FAQ (comuni per client GPU2 ATI e NVIDIA)

Il mio punteggio giornaliero (Points Per Day) varia molto tra i diversi progetti

Ci sono molte differenze tra le GPU e questo porta a grosse variazioni dei PPD quando vengono simulate proteine di dimensioni diverse tra loro. Noi effettuiamo il benchmark su un PC ben definito e possiamo assicurare che su un PC simile a quello utilizzato non ci saranno fluttuazioni dei PPD. Per computer molto diversi da quello di benchmark ci potrebbero essere notevoli variazioni (non è raro un valore del 33%, considerando le grandi differenze di hardware, come il numero degli shader, tra GPU e GPU). Questo è particolarmente vero per le schede NVIDIA, che si comportano tutte in modo simile per proteine piccole ma non per quelle di grosse dimensioni.

E la grafica?

La figura sulla destra mostra come si presenta la grafica durante l'elaborazione. Clicca sull'immagine per ingrandirla.

Similmente alla grafica del client Folding@home per PS3, il client GPU2 mostra una visione in tempo reale della proteina durante la simulazione. Dal momento che il client GPU2 è molto veloce, la proteina si muove rapidamente (circa 1000 volte più veloce a confronto con quella di un client classico per CPU). Clicca qui per vedere un filmato della versione ATI (attenzione: file da 10MB). Grazie a ATI e NVIDIA per il loro aiuto sulla parte grafica, sopratutto per quanto riguarda l'estetica, e ad Adam Beberg per il motore dell'applicazione.

Ho problemi a visualizzare la grafica su Vista (si pianta immediatamente)

Su Vista devi assicurarti che il programma di visualizzazione abbia i privilegi di amministratore. Non supportiamo ufficialmente il visualizzatore su Vista (proprio a causa di questo problema), ma quanto scritto in precedenza funziona per molte persone, specialmente nel caso in cui si dovesse piantare immediatamente.

Quali Sistemi Operativi supporta il nuovo client/core?

Il client funziona su Windows XP e Vista per adesso. (Linux e OSX sono una possibilità futura)

Posso far girare il client GPU come servizio?

Attualmente l'installazione come servizio non è supportata. E' possibile far girare il client GPU come servizio su Windows XP, ma non sarà possibile su Windows Vista, a causa della diversa architettura dei driver video. Vista non ha una interfaccia tra driver e il servizio perciò bisognerebbe fare grossi sforzi di programmazione per riuscire a farlo funzionare.

I ogni caso, con il client di tipo Systray, si può impostare il client per avviarsi con Windows semplicemente inserendone il collegamento (shortcut) nella cartella "Esecuzione automatica" di Windows. Questo metodo funziona bene sia con XP che con Vista.

Posso usare anche la mia CPU per eseguire i calcoli?

Per adesso il core GPU2 utilizza anche un po' di CPU oltre a sfruttare pesantemente la GPU. Comunque speriamo in futuro di scaricare tutti i calcoli alla GPU.

Come faccio a usare i flag con il client SysTray?

A partire dal client versione v6.12beta8, i flag possono essere inseriti dal pannello di configurazione del client, scheda Opzioni Avanzate. Si può anche creare un nuovo collegamento e inserire i flag da riga di comando tra le proprietà del collegamento, ma questa pratica non è raccomandata perché è facile causare dei problemi.

Come creo un nuovo collegamento?

Se devi proprio utilizzare un collegamento, allora segui attentamente queste istruzioni. Dopo aver creato un nuovo collegamento su Windows è necessario impostare correttamente le sue proprietà, come indicato in seguito.

Windows XP:
Destinazione:
"C:\Program Files\Folding@home\Folding@home-gpu\Folding@home .exe" -verbosity 9
(o altri flag tu voglia utilizzare al posto di -verbosity 9)
Da:
"C:\Documents and Settings\<your_windows_username>\Application Data\Folding@home-gpu\"

Windows Vista:
Destinazione:
"C:\Program Files (x86)\Folding@home\Folding@home-gpu\Folding@home .exe" -verbosity 9
(o altri flag tu voglia utilizzare al posto di -verbosity 9)
Da:
"C:\Users\<your_windows_username>\AppData\Roaming\Folding@home-gpu\"

NOTA: Il percorso indicato da "Da:" non è lo stesso di quello di "Destinazione:"! NON inserire il testo <your_windows_username> ma invece sostituiscilo con il tuo attuale account di Windows. Se usi un collegamento personalizzato accertati di aver rimosso quello originale di FAH dalla cartella Start/Programs/Startup. Se in seguito aggiorni o reinstalli il client, il programma di installazione creerà nuovamente il collegamento originale: rimuovi nuovamente il collegamento per evitare un danneggiamento dei dati che stai elaborando.

Maggiori dettagli si possono trovare nella Windows GPU Guide

E il supporto per multi-GPU?

Si, si può aggiungere il flag "-gpu N" (N inizia da 0) ai parametri nella pagina di configurazione avanzata sui client di tipo Systray, o in quelli di tipo Console. Come già ricordato N parte da zero, non da uno, il che significa che il monitor principale è lo zero, il successivo è l'uno e così via. Se stai facendo girare più di un client ricordati che ognuno di essi necessita di un apposito valore per il parametro -gpu, di un differente ID e diuna diversa cartella di lavoro. Segui quindi le istruzioni per i client multipli.

Per le GPU Tesla e le altre schede grafiche non dedicate a PC desktop, c'è il parametro "-forcegpu", che fa in modo che il client ignori cosa "pensa che sia" la GPU, ma c'è comunque da stare attenti perché il core non funziona se la GPU non è supportata. Per utilizzare questo flag è necessario fornirgli un valore (il tipo di GPU) che sovrascriva quello reale. Normalmente si usano questi valori: ati_r600, ati_r700 e nvidia_g80. Questo flag può anche essere utile nei casi in cui il client si rifiuti di riconoscere la presenza delle GPU. Il flag " -forcegpu" può dunque essere usato in combinazione con il flag "-gpu" per forzare il client a cercare di usare la GPU. Per esempio:

Folding@home .exe -gpu 2 -forcegpu nvidia_g80

Questo forza il client ad usare il core NVIDIA sulla terza 3rd (cioè 2 + 1) scheda abilitata per CUDA presente nel sistema. Similmente:

Folding@home .exe -gpu 3 -forcegpu ati_r600

forza il client ad usare il core ATI sulla quarta scheda abilitata per CAL presente nel PC.

Per maggiori dettagli sul set di istruzioni, segui questi link:

Noi aggiorneremo le nostre FAQ con quanto presente su queste pagine ma stiamo anche lavorando per far gestire il tutto direttamente al programma di installazione.

Come decidete i crediti per le Work Unit delle GPU?

I punti vengono determinati in base al rapporto tra le prestazioni di un PC dalle caratteristiche note e quelle di un PC standard utilizzato per il benchmark, similmente al processo di benchmark del client per CPU. Prima di rilasciare qualsiasi nuovo progetto (cioè una serie di work unit), noi li testiamo su un PC dedicato equipaggiato con una GPU ATI Radeon 3850 (512 MB, 320 Stream Processor), specificatamente un Dell Inspiron 531, con una CPU dual core AMD 64 X2 4000+ a 2.16 GHz.

I risultati del test vanno poi inseriti nella seguente formula:

Punti = 1500 * (GiorniPerWU)

dove GiorniPerWU è il numero di giorni che sono stati necessari per completare la WU. Da notare che il client per GPU si appoggia molto sulla CPU, quindi una CPU veloce è molto importante. Il valore dei PPD (Points Per Day) che ne risulta tiene conto del fatto che la CPU è ancora pesantemente necessaria, quindi il valore è superiore alla media proprio come compensazione per questo uso della CPU.

Da notare che il concetto di un PC di riferimento implica che i tempi di completamento di alcune WU potrebbero variare di molto rispetto a quelli realizzati dal tuo PC. Tra diversi modelli di GPU ci sono differenze significative per quanto riguarda l'architettura e la velocità delle memorie. Inoltre ci sono anche differenze tra le stesse WU di un progetto; questo porta ad una ulteriore variabilità.

Il nostro obiettivo è la consistenza del sistema di punti, data una precisa definizione per il PC di benchmark (descritto sopra). Ma, al di là di questo, la evidente variabilità di architettura dei PC e quella tra WU e WU non permetterà mai di avere un sistema di punteggio che preveda esattamente le performance di ogni PC di ogni utente collegato al progetto.

Perché è importante il nuovo client per GPU?

Lo scopo del client GPU è duplice: avvantaggiarsi delle elevate prestazioni dei processori grafici, e aiutare lo sviluppo di una architettura di simulazione tanto da farla diventare una delle componenti fondamentali di FAH dal momento che l'architettura multi-GPU diventerà uno standard industriale nei prossimi anni. I client ad alte prestazioni ci permettono di eseguire dei tipi di calcoli che erano impensabili con le nostre architetture standard; calcoli che migliorano le nostre capacità di ricerca, e i vostri contributi, significativamente.

I client ad elevate prestazioni spesso richiedono ridorse di calcolo elevate. I client per GPU tipicamente girano su sistemi dedicati, 24 ore al giorno, e utilizzano più potenza, più spazio su disco, più risorse di rete, più memoria, ecc... Inoltre la maggiorparte del beneficio scientifico dei calcoli dipende dalla rapida esecuzione e riconsegna delle work unit; ecco perché assegnamo una deadline corta alle work unit per GPU. Per ringraziare questi volontari per il loro contributo, per il fatto che donano risorse che vanno oltre al tipico client per CPU, per il fatto di completare queste WU molto velocemente, e per il contributo allo sviluppo della nostra nuova generazione di risorse, noi impostiamo un valore di crediti che tiene conto di tutto questo sforzo aggiuntivo. Senza questi client per GPU noi non saremmo in grado di completare molti importanti progetti.

Che differenza c'è tra il client GPU1 (prima generazione) e il GPU2 (seconda generazione)?

Dal punto di vista scientifico, il client GPU2 introduce molti nuovi miglioramenti che lo rendono molto più utile del precedente. Esso ingloba gli avanzati modelli dell'acqua presenti nel client per PS3 e persino uno migliore (che sarà probabilmente inserito anche nei futuri client per PS3). Questi nuovi modelli rendono il client molto utile per la ricerca.

Ci sono poi molte altre differenze. La precedente generazione di client ha dimostrato di avere dei problemi a causa di specifiche questioni legate ad alcune GPU e noi abbiamo risolto questi problemi (almeno per quello che ne sappiamo) nella seconda generazione. Uno dei grossi miglioramenti è stato quello di utilizzare il linguaggio CAL (su ATI) e CUDA (su NVIDIA) invece delle DirectX (infatti la precedente generazione di client per GPU ha evidenziato molti problemi relativi all'uso delle DirectX). L'uso del Desktop Remoto ha ancora degli effetti negativi sui client per GPU e manda in errore il FahCore quando viene inizializzata la connessioneto; VNC non presenta questo problema e può essere utilizzato come alternativa (va comunque testato con le GPU NVIDIA).

Posso utilizzare la mia GPU mentre il client sta girando?

Si. Diversamente dal vecchio client per GPU, che interferiva con molti processi che utilizzavano la GPU, il nuovo client GPU2 non lo fa. Guardare dei filmati o giocare non hanno più effetto sul client per GPU, tranne che ovviamente un rallentamento dei calcoli o in alcuni casi una sospensione temporanea degli stessi. Il nuovo client si sospende automaticamente quando l'applicazione che state utilizzando richiede esclusivamente la modalità DirectX, anche se questo non viene riportato nel logfile. I programmi che usano DirectX ma non in modo esclusivo causano solo un rallentamento dei calcoli.

 

Risoluzione dei problemi

Il client funzionava ma ora ottengo solo l'errore Early Unit Ends (EUE). Cosa posso fare?

Si sono verificati dei casi in cui i giochi che utilizzano intensivamente la GPU possono lasciarla in uno stato "sospeso" e questo porta all'errore EUE (Early Unit End - Terminazione anticipata, imprevista). Riavviare il PC solitamente risolve la situazione. Stiamo comunque cercando una soluzione migliore.

Il client mi da l'errore UNSTABLE_MACHINE e rimarrà sospeso per 24 ore! Cosa dovrei fare?

Questo problema si verifica dopo 5 errori di tipo EUE. I PC che incorrono molte volte in questo errore hanno sicuramente bisogno di un intervento dell'utente. Per i dettagli su come sistemare un client mal-configurato basta seguire le FAQ sottostanti o il forum http://foldingforum.org). Tipicamente l'errore ha anche a che fare con i driver, seguite le istruzioni su quali driver dovreste utilizzare per il vostro hardware. Sfortunatamente non possiamo fornire ulteriori informazioni direttamente dal client perché tutto quello che il client sa è che non riesce a usare le librerie CUDA e le ragioni possono essere molteplici (e non c'è modo al momento per il client di scoprire quale).

Se il client prima funzionava, prova a riavviare il PC; spesso funziona. Riavviare il client serve solo a resettare il contatore degli errori EUE.

Dove vengono memorizzati i file di dati del client per GPU?

Il nuovo client per GPU è del tipo SysTray, simile ai nuovi client v6.x SysTray per CPU, e segue l'installazione standard di Windows. Di base è simile ai precedenti client GUI ma con diverse importanti modifiche e un modulo separato per la visualizzazione.

Come conseguenza l'eseguibile del client può essere installato in qualsiasi cartella.

Le cartelle di default sono:
Windows XP:

Eseguibile: "C:\Program Files\Folding@home\Folding@home-gpu\Folding@home .exe"
File dei dati: "C:\Documents and Settings\<your_windows_username>\Application Data\Folding@home-gpu\"

Windows Vista:
Eseguibile: "C:\Program Files (x86)\Folding@home\Folding@home-gpu\Folding@home .exe"
File dei dati: "C:\Users\<your_windows_username>\AppData\Roaming\Folding@home-gpu\"

Nota: Il programma di installazione del client crea un collegamento ai file dei dati nella cartella di Folding@home. Esso inoltre crea un collegamento al programma nella cartella "Esecuzione automatica" che lancia il client alla partenza di Windows. Questo collegamento non può essere modificato: per inserire dei comandi in linea al collegamento è necessario crearne uno nuovo seguendo le istruzioni scritte più in alto.

Il client GPU2 non funziona sui SO Windows Server (es. Server 2003)

Bisogna controllare che sia spuntata l'opzione "Accelerazione hardware" per la grafica (disabilitata di default sui sistemi Windows Server).

 

Problemi specifici dei client GPU2/NVidia

Che hardware è supportato dal nuovo client/core?

Il client gira su

  • GeForce 8xxx
  • GeForce 9xxx
  • Quadro FX 360, 370, 570, 1600, 1700, 3600, 3700, 4600, 5600
  • Quadro NVS 130, 135, 140, 290, 320
  • Tesla C870*
  • MCP77/78*
  • NVIDIA GeForce G*

che è poi la maggiorparte dell'hardware supportato da NVIDIA CUDA.

Il core non trova le DLL!

Ci siamo accorti di qualche comportamento anomalo simile provocato degli antivirus; sitamo approfondendo la questione. Per adesso potete riavviare il PC e riprovare, solitamente funziona.

Il client mi da errore dicendomi che non ho il supporto per le GPU, ma io ce l'ho!!!

Assicurati che il tuo driver sia compatibile CUDA (per le GPU NVIDIA) e che la tua GPU sia impostata come display primario. I driver compatibili CUDA sono quelli dal 177.35 in poi (anche gli originali 174.55 lo sono).

Ho un pop-up che mi avverte di un errore di DLL, cosa succede?

In questo caso apri la cartella dove è stato installato il programma, di default C:\Program Files\Folding@home\Folding@home-gpu, e assicurati che il file "cudart.dll" sia presente assieme all'eseguibile "FahCore_11.exe". Se così non è cercalo e copialo nella cartella.

Chi ha reso possibile tutto questo?

In ordine alfabetico:

  • Adam Beberg (Pande Lab): modifiche al client, API per GPU
  • Dan Ensign (Pande Lab): setup del server, parte scientifica, test
  • Mark Friedrichs (Pande Lab, Simbios): aggiornamenti al core dal punto di vista scientifico, test
  • Simon Green (NVIDIA): visualizzatore per GPU NVIDIA
  • Mike Houston (AMD): test, risoluzione dei problemi, GPU tuning
  • Scott LeGrand (NVIDIA): importazione del codice per GPU2 su CUDA, miglioramento delle prestazioni, miglioramenti nella visualizzazione
  • Vijay Pande (Pande Lab): gestione del progetto
  • Vogliamo anche ringraziare i moderatori della community del forum di Folding@home per questa FAQ e per il loro impegno nei test delle prime versioni del software.

 

Problemi specifici dei client GPU2/ATI

Che hardware è supportato dal nuovo client/core?

Il client gira su qualsiasi hardware supportato dal linguaggio AMD Compute Abstraction Layer (CAL), i.e. R6xx, Radeon 2400 e successive.

Il nuovo client utilizza le stessa WU del precedente?

No, questa seconda generazione di client per GPU utilizza un diverso tipo di WU costruite appositamente per le funzionalità del Fahcore_11. Questa applicazione non gira sulla prima generazione di client per GPU, così come il precedente Fahcore_10 non gira sull'attuale client.

Ho problemi con VISTA. Qualche idea?

Ci sono state diverse segnalazioni che riportano che il client per GPU lavora bene solo nei casi in cui VISTA viene impostato in Modalità XP Compatibile oppure si effettua il login come amministratore. Suggeriamo di provare queste due soluzioni se avete problemi con il client ATI.

Meglio utilizzare uno slot AGP o uno PCIe?

Le prestazioni del client per GPU sono senza dubbio migliori se si utilizza uno slot PCIe x16. Uno slot x8 o x4 rallenterebbe la velocità di esecuzione a causa della lentezza di comunicazione tra CPU e GPU. Anche l'hardware AGP è supportato ma le prestazioni sono ancora più basse, sempre a causa della velocità di comunicazione CPU/GPU. Gli slot PCIe v2.0 sono solo marginalmente più veloci di quelli PCIe.

Il core non trova le DLL!

Ci siamo accorti di qualche comportamento anomalo simile provocato degli antivirus; sitamo approfondendo la questione. Per adesso potete riavviare il PC e riprovare, solitamente funziona.

Il client mi da errore dicendomi che non ho il supporto per le GPU, ma io ce l'ho!!!

Se tu hai montato un modello di GPU ATI 2xxx/3xxx/4xxx/5xxx, l'errore potrebbe essere causato dai driver che non lavorano bene con il client GPU2. Qualche assemblatore di PC modifica i driver Catalyst originali: scarica e installa i driver ATI Catalyst più aggiornati. L'errore si può verificare anche nel caso in cui il "dispositivo video primario" non è una scheda ATI supportata: il codice di errore FFFFFFFF (-1) ne è un sintomo.

Ho un pop-up che mi avverte di un errore di DLL, cosa succede?

In questo caso apri la cartella dove è stato installato il programma, di default C:\Program Files\Folding@home\Folding@home-gpu, e assicurati che i file "amdcalcl.dll" e "amdcalrt.dll" siano presenti assieme all'eseguibile "FahCore_11.exe". Se così non è cercali e copiali nella cartella.


Per maggiori informazioni andare su:

 

Joomla Stats