Jump to content
Lido

Scheda Video Per Gpgpu

Recommended Posts

Fra le altre cose collaboro ancora a tempo parziale con il dipartimento dove mi sono laureato, dove si eseguono simulazioni numeriche. E'venuta fuori la questione sulla possibilità di impiegare GPGPU per questo genere di applicazioni (quindi di solo calcolo che beneficerebbero parecchio di questa tecnologia).

In questo caso, per scegliere la scheda video più adatta si deve puntare solo sul numero di core a disposizione, giusto? Immagino questo visto che la modalità con cui verrebbe impiegata la scheda dipende dal programma che viene esplicitamente scritto da chi la utilizza.

Quindi vado a parare sempre nelle annose questioni:

- cosa scegliere fra schede gamer e pro a parità di prezzo? (immagino che qui, dove si scrive direttamente il codice, conti solo il numero di core a disposizione)

- i driver migliori delle pro contano significativamente anche in questo caso dove il codice è scritto dall'utente? (immagino di no)

Già a parziale se non completa risposta a queste domande riporto una parte di un intervento di Simone82:

[...]tutto questo discorso va a farsi friggere se la scheda la si usa anche per il calcolo gp-gpu: non potendo spendere 2500€ per avvalersi dei 240sp della FX5800, spendo cmq 350€ per avvalermi di quelli di una GTX285, ed a quel punto i miseri 32sp di una FX580 fanno solo che ridere in confronto...

Share this post


Link to post
Share on other sites

Le questioni poi non si fermerebbero qui, poichè, dopo aver letto la guida di giugno di papafoxtrot, ci sarebbe il problema della definizione dello standard che verrà effettivamente seguito:

- CUDA è già utilizzabile ma chiuso e proprietario e quindi di incerto futuro

- openCL è promettente ma ancora non usabile completamente

- AMD-Stream è open ma rimane un altro standard ancora

Quindi temo che chi voglia lavorarci non abbia al momento una strada sicura da scegliere in base allo standard: o non sono sfruttabili subito o non si sa che fine faranno. Quindi temo che poi sarà inevitabile rimettere mano al codice scritto nel frattempo...

CUDA forse al momento attrae di più, ma non so se sia più per il maggior sforzo "pubblicitario" rispetto ad AMD o per un'effettiva superiorità/affidabilità/facilità...

Share this post


Link to post
Share on other sites

Qui le schede pro hanno poco a che fare. Anche perché per il calcolo gpgpu bisognerebbe andare su quelle di fascia altissima, tipo FX4800 o FX5800, o addirittura su quelle dedicate al computing, come le Tesla. Sistemi di questo genere costano tuttavia migliaia di euro: i benefici indubbiamente ci sono, ma soltanto se il programmatore sfrutta la superiore possibilità di queste schede offerte dalla programmabilità delle stesse, ed ovviamente non tutti lo sanno fare.

Quindi penso che se non volete morire dietro CUDA e i driver nVidia (negli USA ci sono corsi universitari di programmazione per questo genere di software).

CUDA non è di incerto futuro, semplicemente è lo standard attuale nel calcolo del gpgpu: non sapendo quando arriverà OCL, ed essendo ATI-Stream molto complicato (tra l'altro i driver Catalyst fanno a botte con ATI-Stream, ecco perché è poco diffuso), se volete lavorare bene e subito la scelta quasi obbligata è CUDA, sapendo che forse in futuro potrebbe essere non dico abbandonato ma quanto meno declassato a favore di OCL, dove la stessa nVidia sta investendo molto. Senza dimenticare che con l'arrivo di Larrabee il prossimo anno il calcolo cpu-gpu sarà integrato nell'architettura x86, che prevede un altro codice di programmazione.

Vorrei inoltre far notare che non necessariamente il vantaggio offerto da questo tipo di calcoli è in linea con il costo per svilupparli. CUDA offre da un 5x ad un 675x in base alle applicazioni ed alla bravura del programmatore, per sviluppare un software del genere stabile e veloce potrebbe servire molto tempo e molte risorse.

Se volete risparmiare si dovrebbe andare su schede tipo GTX285 o addirittura GTX295 (cioè 2 GTX280 affiancate in parallelo sullo stesso plat), tenendo tuttavia presente che queste schede a pieno carico consumano centinaia di watt ad esemplare. 10 di queste schede sfiorano i 2kW, mentre addirittura la versione X2 li supera abbondantemente: l'acquisto di schede Tesla potrebbe essere vantaggioso sotto questo profilo, ma bisogna saperle sfruttare e soprattutto il gioco deve valere la candela, cioè il prezzo superiore pagato deve rientrare nel risparmio energetico, ma bisogna calcolare in questo caso quanto tempo ci vorrà per rientrare in base a quanto spendete voi al kW.

Share this post


Link to post
Share on other sites

Le quadro sono da scartare in questo senso; se volessi una scheda dedicata al GPGPU dovresti andare su schede Tesla o AMD firestram.

Ma anche schede video gaming andrebbero benissimo. La principale differenza sta mnella dotazione di ram, che arriva a 4Gb per le schede dedicate al gpgpu, e non è un fattore da poco. I prezzi credo siano comunque inferiori a quelli delle schede quadro proprio perché non c'è dietro lo studio di driver particolari.

Nella scelta devi tener conto del numero di stream processors, del numero di core, se vuoi prendere schede dual gpu, della quantità di memoria ram, è bene che sia molta, ma anche della frequenza della gpu.

Consiglio schede di fascia alta.... gtx275, gtx295 per nvidia e hd4870... hd4850x2 2Gb... hd4870x2 per amd.

Ricorda che ad ogni core di GPU deve essere associato nel computer almeno un core di cpu, al fine di gestire al meglio la potenza disponibile, alimentando le gpu coi flussi di dati da elaborare. Per cui con un quad core quale un core i7 920 puoi montare al massimo 4 schede video, o due schede video dual gpu.

E monta molta ram di sistema, credo che se è veloce non sia un male.

Per quanto riguarda lo standard, credo che CUDA finirà per sviluppare in openCL, per cui sarà sepre utilizzabile, come anche AMD stream.

Altrimenti esisteranno SDK diversi, basati su openCL ora che c'è lo standard

Share this post


Link to post
Share on other sites

Hem.. simone, ricorda che openCL è già arrivato... è stato ratificato quest'inverno ed ora è integrato in snow leopard. NVIDIA sta lavorando ad un cuda sviluppato su OpenCL...

CUDA è destinato a cambiare molto nei prossimi mesi per cui io suggerisco di attendere quest'autunno...

Anche Larrabee potrebbe avere da dire la sua... alla fine si programma in x86 tramite un semplice C, fortran o quant'altro... se solo solo è potente quanto una scheda video attuale secondo me non sarà u buco nell'acqua!

Share this post


Link to post
Share on other sites

Si lo so che è arrivato, ma praticamente non viene ancora utilizzato da nessuno. Quando si vuole sapere qual'è la tecnologia di calcolo gp-gpu standard basta vedere quale sia quella implementata sulla piattaforma BOINC, l'unica piattaforma di calcolo massivo (nel senso utilizzabile in parallelo da milioni di utenti nel mondo) attualmente disponibile.

Mentre concordo sul resto: vale dire che secondo le prime stime Larrabee nella sua versione più potente sarebbe potente quanto una GTX285 o giù di lì (20x rispetto a un Core 2 Duo), poi toccherà vedere quanto sarà veloce il chip GTX300 di nVidia e soprattutto quale sarà il prezzo di Larrabee: resta solo da vedere il target di destinazione, i tagli ed i prezzi...

Vale aggiungere che Larrabee almeno inizialmente non sarà una scheda grafica discreta (quindi non ci si giocherà a Crysis tanto per intenderci), anche se potrebbe diventarlo presto.

Share this post


Link to post
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.   Restore formatting

  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.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...