Nvidia Tesla, una GPGPU da sogno
22 Giugno 2007
GPGPU: questa sigla, acronimo di General Purpose Graphics Processing Unit, da un anno a questa parte caratterizza molte discussioni legate alle schede video, soprattutto nel momento in cui vengono presentate nuove generazioni di architetture video. GPGPU è, in estrema sintesi, quella combinazione tra componente hardware e software che permette di utilizzare una tradizionale GPU per elaborazioni che sono estremamente esigenti in termini di potenza di elaborazione, e che non trovano in tradizionali architetture di CPU disponibili in commercio una capacità di elaborazione sufficiente.

E’ evidente che le GPU non siano la soluzione per qualsiasi scenario applicativo, in quanto alcune tipologie di applicazioni beneficiano meglio di altre: del resto se così fosse le GPU sarebbero adottate massicciamente in qualsiasi ambito, portando ad un’esclusione completa delle GPU per elaborazioni. All’atto pratico le GPU sono particolarmente adatte ad elaborazioni fortemente parallelizzate, scenario che può essere tipicamente riscontrato in elaborazioni di immagini mediche, analisi di pattern generici, ricerca di giacimenti petroliferi e di fonti naturali, analisi di modelli di rischio finanziari. Ben differenti le esigenze di scenari applicativi quali i database, la compressione dei dati, algoritmi ricorsivi e in generale elaborazioni nelle quali è richiesta una elevata logica di controllo del processo di calcolo: in questi casi una tradizionale CPU è l’architettura di riferimento e la GPU, per sua natura, non potrebbe permettere di ottenere risultati prestazionali interessanti.
La famiglia di soluzioni Nvidia Tesla si divide in:
- Tesla Deskside, soluzione esterna da interfacciare con una workstation grafica, al cui interno troviamo due schede video Tesla C870 collegate tra di loro in SLI; Nvidia indica una richiesta energetica massima di 550 Watt, con una capacità di elaborazione che può raggiungere teoricamente 1 Teraflop;
- Tesla C870, una GPGPU integrabile nel proprio computer ( come lo Streaming Processor di AMD ) che è di fatto l’elemento base di tutte le soluzioni Tesla. Esteriormente molto simile ad una scheda video delle serie GeForce 8800 GTX o Ultra, si differenzia da queste ultime per la completa assenza di connettori di output video. Trattandosi di una soluzione hardware specificamente dedicata all’elaborazione parallela, non avrebbe molto senso integrare una connessione ad un display, in quanto la GPU in essa montata non sarà tipicamente acquistata dall’utente per elaborazioni grafiche quali sono quelle richieste dai giochi più comuni…
- Tesla S870, ovvero 4 schede Tesla C870 collegate tra di loro a coppia in SLI e interfacciate all’esterno attraverso connessione PCI Express; la conseguenza diretta di tutto questo è la necessità di utilizzare due PC esterni per gestire la loro logica di controllo, a ciascuno dei quali viene collegata una coppia di GPU a loro volta collegate in SLI.
La GPU esegue un programma CUDA, operando come un coprocessore per la CPU di sistema: il processore, organizza e invia le informazioni, mentre la GPU elabora i dati in parallelo. Parti dell’applicazione sviluppata con CUDA vengono estratte e compilate così da poter essere eseguite dalla GPU, in quanto con questo componente si ottengono tempi di elaborazione sensibilmente inferiori a quelli della CPU. E’ quindi evidente che se da una parte la GPU permetta di ottenere un notevole incremento prestazionale, dall’altra sia sempre richiesta la presenza della CPU per poter eseguire le elaborazioni e governare sul processo di elaborazione della GPU.
Come sono state già implementate alcune di queste soluzioni dai clienti del settore? Boston Scientific produce pacemakers e altre tipologie di impianti biomedici, per la costruzione dei quali vengono condotte numerose simulazioni al computer. Grazie alla partnership con Acceleware, azienda canadese, l’esecuzione del software SEMCAD X utilizzato per le simulazioni biomediche ha subito una accelerazione sino a 25 volte dei tempi di elaborazione, utilizzando per parte di queste la potenza elaborativa le GPU NVIDIA. L’implicazione diretta di questo incremento di velocità è la possibilità di condurre un numero molto più elevato di simulazioni sui propri prodotti, delineando per questo le influenze e le dipendenze reciproche di un elevato numero di variabili presenti all’interno del design dei prodotti. Queste simulazioni vengono eseguite sfruttando la potenza di elaborazione delle GPU, con incrementi sino a 130 volte rispetto a quanto registrato con i processori x86 in commercio. Evolved Machine ha quindi implementato una struttura di GPU in cluster per questo genere di elaborazioni, con una frazione del costo richiesto per ottenere la medesima potenza elaborativa con tradizionali CPU. 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. Effettivamente, però, se al posto di GPU G80 si integrassero delle GPU del calibro di GeForce 8600/8400, il vantaggio rispetto alle CPU ci sarebbe comunque, ed i costi sarebbero così più accessibili.
Leggi articolo integrale | Hardware Upgrade
Potrebbe interessarti...
Un commento su “Nvidia Tesla, una GPGPU da sogno”
Vuoi dire la tua?



[...] Continua a leggere su I-DCC.net [...]