GPU per applicazioni di number crunching

Pubblicità

monticelli

Utente Attivo
Messaggi
71
Reazioni
10
Punteggio
38
Buongiorno a tutti,
riposto qui un messaggio che avevo erroneamente piazzato in Hardware.

Lavoro in un centro di bioinformatica dove facciamo applicazioni di calcolo scientifico con pochissima grafica e molto number crunching. Con un po' di ritardo rispetto al resto del mondo vorremmo valutare le performance dei nostri programmi fatti girare su GPU invece che sui soliti cluster di CPU.
Io sono digiuno di GPU, specialmente dal punto di vista hardware, e vorrei chiedere a voi un consiglio sulla scelta da fare: ATI o NVIDIA, aspettando le nuove Fermi?
Non siamo interessati a questioni di dimensioni del chip, di potenza dissipata, di rumorosita' della scheda (al limite piazziamo tutto in sala macchine),... e neanche, entro limiti ragionevoli, di differenze sul prezzo d'acquisto. Per noi e' importante solo la velocita' nello svolgere task numerici (caso tipico: prodotto matrice-vettore).
Spero di non essere troppo OT. Non e' mia intenzione alimentare alcuna polemica ATI vs NVIDIA, solo mi aiuterebbe veramente la vostra opinione di specialisti :inchino:.

Grazie mille anticipatamente
monticelli
 
Ma fammi capire ti serve una workstation o un cluster di gpu?

Bella domanda, Fall4. Dipendera', direi, dai test preliminari che stiamo facendo in questo momento con una GeForce 285GTX. Abbiamo scelto questa per il momento, perche' vogliamo programmare con CUDA (o meglio, con C for CUDA), che per noi e' meno ostico di openCL. Se questi test daranno risultati buoni (speed up alto rispetto all'execution time dello stesso problema con una CPU, o con un cluster di CPU), allora andremo verso un'architettura GPU piu' definitiva che probabilmente sarebbe un cluster: o ATI o NVIDIA (magari passando comunque a openCL). Dico probabilmente perche' il problema che trattiamo e' grosso, e non e' tanto pensabile di risolverlo con una sola GPU in tempi ragionevoli.

ciao,
monticelli
 
mmm... Io per queste operazioni mi baso su nvidia anche all' università, dove utilizzo la maggior parte dei programmi di programmazione, che vanno da c++ a opengl, ecc...
Ma siete un centro di ricerca?? Vi serve per un ospedale di ricerca? Mi puoi specificare più dettagli?.
Se i calcoli da svolgere sono molto pesanti è impensabile utilizzare una gtx285 destinata ad un altro mercato.
 
Se sei in fase di studio magari ti conviene prima fare una indagine preliminare sui sistemi di sviluppo e il supporto allo sviluppo che puoi ottenere da aziende specializzate nel settore. Avere una soluzione, quale che sia, che va 100 volte più veloce ma richiede 100 volte il tempo di sviluppo è da valutare. Tanto più se le soluzioni hanno prestazioni simili ma una ha bisogno di strumenti un ordine di grandezza meno facili da gestire (e manutenere). Oltre al fatto che va considerato l'aspetto compatibilità nel futuro per evitare di dover scrivere tutto da zero con un possibile upgrade ad una futura scheda anche dello stesso produttore. Devi anche valutare l'aspetto affidabilità dell'intero cluster.
Credo che nessuno qui possa darti una risposta in merito.
 
senza altri dettagli non facciamo niente.
ma mi pare di aver capito che serve una gpu veloce, per un centro di bioinformatica.
andrei su quadro o aspettando un po' tesla.
altre informazioni grazie
 
Ma siete un centro di ricerca?? Vi serve per un ospedale di ricerca? Mi puoi specificare più dettagli?.
Se i calcoli da svolgere sono molto pesanti è impensabile utilizzare una gtx285 destinata ad un altro mercato.

Si', siamo un centro di ricerca cha sta lavorando ad un progetto finanziato dalla UE. Si tratta della simulazione cardiaca in silico (al computer), cioe' calcolare al computer come si propagano i potenziali elettrici all'interno del cuore umano. Questo permetterebbe, ad esempio, alle case farmaceutiche di "calcolare" la tossicita' (gli effetti collaterali) di nuovi farmaci per il cuore prima di passare alla sperimentazione su volontari umani.
Il problema dal punto di vista matematico consiste nel risolvere un'equazione differenziale su geometrie realistiche del cuore, con modelli di griglia anche con diversi milioni di gradi di liberta'.
Usiamo metodi come elementi finiti, o anche qualcosa di piu' moderno.
Il problema numerico non e' particolarmente complicato, solo che richiede tempi di calcolo lunghissimi. Lo scopo del gruppo in cui lavoro e' quello di abbattere questi tempi di calcolo, usando qualunque tecnologia (metodi matematici piu' avanzati, calcolo parallelo,... e, perche' no, GPU).

Ecco qui, spero di non avervi annoiato troppo.
 
Se i calcoli da svolgere sono molto pesanti è impensabile utilizzare una gtx285 destinata ad un altro mercato.

Quella ci serve solo come studio preliminare. Se vediamo che non ci assicura uno speed up significativo rispetto ad una CPU, lasciamo perdere il discorso.
Avevamo richiesto la scheda di nVidia con le 2 GPU (gtx290?) perche' volevamo vedere come fare il message passing tra di loro, ma il nostro fornitore ci ha detto che non riusciva a trovarla.
Il message passing e' un bel problema: so come farlo per un cluster di CPU, usando MPI, non ho nessuna idea di come funzioni per le GPU (MPI anche li'?).
 
Se sei in fase di studio magari ti conviene prima fare una indagine preliminare sui sistemi di sviluppo e il supporto allo sviluppo che puoi ottenere da aziende specializzate nel settore. Avere una soluzione, quale che sia, che va 100 volte più veloce ma richiede 100 volte il tempo di sviluppo è da valutare. Tanto più se le soluzioni hanno prestazioni simili ma una ha bisogno di strumenti un ordine di grandezza meno facili da gestire (e manutenere). Oltre al fatto che va considerato l'aspetto compatibilità nel futuro per evitare di dover scrivere tutto da zero con un possibile upgrade ad una futura scheda anche dello stesso produttore. Devi anche valutare l'aspetto affidabilità dell'intero cluster.
Credo che nessuno qui possa darti una risposta in merito.

Grazie Il_Saggio, in realta' mi state gia' aiutando. Pero', sapete dirmi se ATI produce, o produrra' a breve, una architettura con le caratteristiche di Tesla? Sul supporto allo sviluppo da aziende specializzate sono d'accordo, solo che nel workprogramme del progetto ci siamo impegnati a trovare soluzioni integrate software/hardware per risolvere il problema che abbiano costo contenuto. In altre parole possiamo prevedere che gli end users (clinici, fisiologi, etc) investano qualche migliaio di euro (10 000?) per comperare Tesla in una qualche configurazione non troppo estrema, non possiamo chiedergli di investire 100 000 euro o + per una soluzione personalizzata con manutenzione, etc. Hai perfettamente ragione anche sulla questione della compatibilita' e dell'affidabilita. Questo introduce anche la seconda domanda che volevo farvi, abusando della vostra gentilezza, e che rimando a piu' tardi.

Se sto esagerando con le richieste fatemi un urlaccio che me ne vado :birra:
 
sono 2 schede uguali ( ma anche diverse) le quali si collegano con un ponticello e praticamente le 2 schede si sommano per avere più potenza.
detto in parole povere, poverissime
 
Ehm... cosa sono gli sli? :blush:

sono più vga che lavorano in parallelo

3-way-sli-review-roundup.jpg
 
Pubblicità
Pubblicità
Indietro
Top