|
|
NVIDIA Tesla: GPU G80 per elaborazioni GPGPU
Anteprima Paolo Corsini
20 Giugno 2007 Schede Video Tesla è la nuova famiglia di prodotti NVIDIA specificamente sviluppati per elaborazioni GPGPU, dove il chip video viene utilizzato per eseguire calcoli tipicamente di competenza della CPU, ma molto più velocemente di quest'ultima. Scopriamo quali siano le caratteristiche di questi prodotti, e come una GPU possa essere utilizzata per calcoli paralleli
|
|
|
Considerazioni
In questo articolo abbiamo cercato di spiegare le basi che spingono verso l'utilizzo
delle GPU in contesti di elaborazione general purpose, e quali benefici queste possano
avere rispetto all'adozione di una tradizionale CPU. E' un ambito nel quale NVIDIA sta
investendo in modo massiccio con la serie di prodotti Tesla, intravedendo potenzialità di
business molto elevate per i prossimi anni oltre ad uno sbocco complementare del proprio
lavoro di ricerca tecnologico alla base di ogni famiglia di GPU.

Le statistiche di elaborazione del client Folding@Home, uno dei pochi esempi alla
portata di tutti gli utenti di applicazione che può essere eseguita su varie piattaforme
di CPU e su GPU, evidenziano come sia ancora molto ridotto il numero di sistemi per i
quali si utilizzano GPU, in questo caso ATI Radeon, per l'elaborazione di pacchetti di
dati Folding. Confrontando i valori in TeraFLOPS emerge chiaramente come siano proprio le
GPU la risorsa di elaborazione più potente tra quelle a disposizione degli utenti,
distanziando di gran lunga tutte le altre architetture. E' questo un esempio di nicchia ma
concreto di quelle che possono essere le potenzialità dell'elaborazione parallela via
GPU, nel momento in cui viene implementato un client ottimizzato.
Il futuro delle architettue CPU si sposta sempre più rapidamente verso soluzioni
multicore, aprendo scenari interessanti su quale sarà l'approccio potenzalmente vincente
tra gli attuali aprcci sviluppati da Intel e AMD. Quest'ultima in particolare spinge verso
architetture che abbinino core general purpose con acceleratori dedicati: di fatto una
GPU, nell'ottica delle elaborazioni GPGPU, può essere vista proprio in questo modo.
Intel, invece, sta sviluppando Larrabee, GPU che mira a proporsi proprio nel mercato GPGPU
e non in quello della grafica 3D, puntando sulla compatibilità con codice x86.
NVIDIA crede fortemente nell'utilizzo delle proprie GPU per elaborazioni
general purpose, e i primi esempi pratici di clienti che hanno convertito programmi e
dataset per l'elaborazione su GPU confermano come sia possibile beneficiare grandemente di
queste architetture. Non è tutto oro quello che luccica, tuttavia: migrare
un'applicazione da CPU a GPU richiede un lavoro di programmazione non di poco conto,
soprattutto se si ricerca la massima efficienza possibile dell'elaborazione. Non c'è da
tralasciare anche il fattore culturale: NVIDIA sta operando attivamente con il mondo
accademico affinché le GPU vengano attivamente utilizzate nella ricerca come strumento di
calcolo general purpose, sostituendo le CPU in quegli ambiti nei quali si dimostrano più
efficienti.
L'approccio NVIDIA con CUDA è, in termini sia teorici che pratici,
sicuramente più accessibile di Close To Metal o CTM , l'approccio corrispondente di AMD
per la programmazione con GPU della famiglia R580. CTM permette di interagire con
l'hardware ad un livello ancor più dettagliato di CUDA, di fatto con un linguaggio
assembler, benché questo a prezzo di una superiore complessità e di tempi di sviluppo
ben più lunghi. CTM, inoltre, è specifico per una famiglia di GPU, mentre CUDA ha dalla
sua la flessibilità di poter spostare applicazioni svilupate ora su future generazioni di
GPU NVIDIA.
Quando le GPU potranno venir utilizzate per elaborazioni parallele anche
in ambiente domestico, o comunque al di fuori di applicazioni specialistiche? E' complesso
dare una risposta a questa domanda, anche se riteniamo difficile che i tempi siano maturi,
o lo possano essere nel giro di alcuni anni, perché questo possa avvenire. Indubbiamente
le potenzialità delle elaborazioni GPGPU sono molto ampie in ambienti professionali: se
il software può essere adattato efficientemente all'elaborazione su GPU i benefici
prestazionali e di riduzione dei costi che se ne derivano sono una spinta troppo forte per
non pensare ad una migrazione. |
|
|
Commenti (55)
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - Info
Per contattare l'autore del pezzo, così da avere una risposta rapida, si prega di utilizzare l'email personale (vedere in alto sotto il titolo). Non è detto che una domanda diretta inserita nei commenti venga verificata in tempi rapidi. In alternativa contattare la redazione a questo indirizzo email. |
| Commento # 1
di: UIQ
pubblicato il 20 Giugno 2007, 22:57 |
Articolo molto interessante, aggiungo che esistono imprese che sviluppano tool in grado di convertire in modo più o meno automatico codice dall'uso esclusivo della CPU a quello della GPU, in ogni caso il settore è molto promettente e le possibili applicazioni molto numerose...
|
|
 |
 |
| Commento # 2
di: DVD2005
pubblicato il 20 Giugno 2007, 23:06 |
Articolo molto interessante su di un argomento che non conoscevo.
|
|
 |
 |
| Commento # 3
di: Matteo2600+
pubblicato il 20 Giugno 2007, 23:10 |
estremamente interessante direi ed ottimamente recensito, fa pensare al futuro, probabilmente non esisteranno piu i potentissimi multicore CPU ma delle gpu che prenderanno il posto predominante nel calcolo di un pc. La tecnologia in quanto a PC cambia idea continuamente  ! |
|
 |
 |
| Commento # 4
di: sna696
pubblicato il 20 Giugno 2007, 23:18 |
molto interessante.... il futuro alle porte...
|
|
 |
 |
| Commento # 5
di: Dox
pubblicato il 20 Giugno 2007, 23:30 |
Notevole complimenti a Nvidia , il rack da 4 gpgpu è davvero spaziale
|
|
 |
 |
| Commento # 7
di: Twisted87
pubblicato il 21 Giugno 2007, 00:54 |
bell'articolo davvero
c'è un piccolo errorino 
su Perché usare le GPU per calcoli general purpose? arcitetture |
|
 |
 |
| Commento # 8
di: trias
pubblicato il 21 Giugno 2007, 00:55 |
in accademia di queste cose si sta parlando già da tempo... ora che l'industria ha visto la possibilià di aprire nuovi mercati si inizia a progettare seriamente
in questo caso queste architetture come elencato nell'articolo serviranno per computare dati inerenti alla ricerca, alla sanità.. insomma roba seria per il progresso!
EDIT:
quello che mi preoccupa che le tre soluzioni non hanno una compatibiltà comune a livello delle istruzioni. come le console per i giochi, sarà guerra
ATI ora ha quello più complesso ma potenzialmente più efficiente close-to-metal (nome fico), nvidia punta più sulla semplicità e sulla compatibilità tra generazioni differenti di gp-cpu nvidia e intel punta a garantire istruzioni x86 cosa comoda poichè il software in questione che gira sui nostri sistemi intel/amd dovrebbe ottimisticamente essere solo ricompilato... |
|
 |
 |
| Commento # 9
di: trias
pubblicato il 21 Giugno 2007, 01:14 |
| Originariamente inviato da: Matteo2600+ | estremamente interessante direi ed ottimamente recensito, fa pensare al futuro, probabilmente non esisteranno piu i potentissimi multicore CPU ma delle gpu che prenderanno il posto predominante nel calcolo di un pc. La tecnologia in quanto a PC cambia idea continuamente ! |
Non penso proprio. E' complicato far fare a una gpu ciò per cui non è stato pensato, è una architettura assai specializzata. le gp-gpu allargano gli orizzonti delle possibilità... ma non credo che riuscirebbero ora a risolvere velocemente un complesso problema di Planning ad esempio. Se lo saprebbe fare sarebbe cpu e gpu assieme e non solo una gp-gpu.
un altro paradigma di calcolo molto interessante e novello è il Reconfigurable Computing una architettura di calcolo che si dovrebbe poter configurare/specializzare per le applicazioni volta per volta, anche a runtime. |
|
 |
 |
| Commento # 10
di: Mercuri0
pubblicato il 21 Giugno 2007, 01:23 |
E queste possibilità dovrebbero arrivare sui desktop con i derivati di Fusion di AMD.
Ammesso che AMD non fallisca prima, si intende O_o
|
|
 |
 |
|
|
|
|
|
Consiglia Hardware Upgrade su Google
|
|
Articolo molto interessante, aggiungo che esistono imprese che sviluppano tool in grado di convertire in modo più o meno automatico codice dall'uso esclusivo della CPU a quello della GPU, in ogni caso il settore è molto promettente e le possibili applicazioni molto numerose...