NVidia Tesla

scheda video

Il termine Tesla viene utilizzato da nVidia per indicare una particolare tecnologia relativa alle proprie GPU che ha lo scopo di utilizzare la potenza elaborativa di tali soluzioni in ambiti relativi al calcolo parallelo spinto. Questo tipo di elaborazioni viene indicato come GPGPU, General Purpose GPU, ovvero vengono utilizzate delle GPU per l'esecuzione di calcoli paralleli particolarmente complessi, che sfruttano proprio le peculiarità architetturali di tali soluzioni che in queste elaborazioni risultano essere molto più efficienti delle tradizionali CPU.

Logo della tecnologia nVidia Tesla
Logo della tecnologia nVidia Tesla

In sostanza, sono stati presentati alcuni prodotti (schede aggiuntive o veri e propri Rack per sistemi server) specificatamente realizzati per l'elaborazione di questo particolare tipo di calcoli.

NVidia ha presentato la propria tecnologia Tesla il 20 giugno 2007, basandola sulle soluzioni GeForce della serie 8 utilizzate sia per le versioni desktop della serie GeForce 8800 che per quelle professionali Quadro FX 4600 e Quadro FX 5600. Alla base del progetto di queste schede vi era la GPU G80, progettata con l'esplicita volontà di utilizzare la stessa architettura video per differenti tipologie di implementazioni, delle quali quindi i prodotti Tesla sono andati a rappresentare una ulteriore incarnazione. Infatti, il G80 è stato il primo chip nVidia ad essere stato progettato mediante un approccio a shader unificati pienamente programmabili, e tale caratteristica è l'elemento fondamentale per poter utilizzare la potenza elaborativa propria di una GPU per elaborazioni che non siano quelle classiche di un'applicazione 3D.

GPGPU secondo nVidia: non solo con Tesla

Da diverso tempo ormai nVidia propone differenti linee di prodotti basati tutti sulla stessa architettura di GPU. Certamente il marchio più famoso dell'azienda è GeForce, che storicamente contraddistingue le schede video destinate ai sistemi di tutte le fasce di mercato, siano esse desktop o mobile, e il cui scopo primario è appunto la visualizzazione delle immagini a schermo. Se il marchio GeForce è quello "principale", famoso soprattutto tra i videogiocatori e a coloro che necessitano di un sottosistema video più o meno avanzato, esiste anche il marchio Quadro che, come accennato sopra, raccoglie tutte le soluzioni pensate e ottimizzate per l'uso professionale e in particolare integrate nelle workstation grafiche. A metà 2007 si è aggiunto anche il marchio Tesla, a sfruttare la stessa architettura comune anche alle soluzioni commercializzate con gli altri marchi.

Se è vero che alla base delle 3 famiglie di prodotti è presente la stessa tipologia di architettura, è evidente che sulla carta sia possibile utilizzare indifferentemente uno di questi prodotti anche per elaborazioni GPGPU: nVidia infatti ha deciso di non vincolare l'utilizzo delle proprie GPU per elaborazioni di calcolo alle sole soluzioni Tesla, volendo in questo modo dare il più possibile spazio ai possessori di proprie GPU programmabili. La risultante è una base disponibile (secondo stime della metà del 2008 di circa 70 milioni di GPU che possono venir utilizzate in abbinamento a CUDA, ovvero il linguaggio di programmazione basato sul C++ sviluppato dalla stessa azienda per fornire agli sviluppatori uno strumento adeguato per implementare nelle varie applicazioni il supporto GPGPU con le soluzioni nVidia.

Principali differenze tra GeForce, Quadro e Tesla

Alla luce del fatto che le elaborazioni GPGPU sono possibili attraverso qualunque prodotto di casa nVidia basato sull'architettura del chip G80 (e ovviamente successive generazioni), è lecito domandarsi quali siano le peculiarità di ciascuna famiglia di prodotti, sopracitata. Di seguito viene riportata una breve descrizione degli obiettivi di ciascuna famiglia di prodotti, secondo i criteri espressi dalla stessa nVidia:

  • Tesla - raggruppa tutte le soluzioni specificamente sviluppate per i calcoli GPGPU, proponendo alcune caratteristiche tecniche che si rivelano particolarmente utili a chi deve eseguire elaborazioni con set di dati particolarmente ampi.
  • Quadro - i prodotti della linea Quadro mantengono lo stesso livello qualitativo delle soluzioni Tesla, ma implementano anche le funzionalità di visualizzazione a video che possono rivelarsi utili nel momento in cui l'elaborazione GPGPU venga affiancata ad un utilizzo più tradizionale della scheda video per funzionalità grafiche di stampo professionale.
  • GeForce - sono tutti i prodotti indicati da nVidia come "facilmente accessibili" da chiunque, essendo disponibile praticamente per tutte le fasce di mercato, ma mette a disposizione le stesse potenzialità in elaborazione GPGPUdelle soluzioni più potenti con ovviamente limitazioni in termini prestazionali.

Prima generazione di Tesla: "Tesla T8"

Come detto, la prima generazione della tecnologia Tesla era basata sulla serie Geforce 8 delle proprie GPU e riprendeva in buona parte le caratteristiche tecniche introdotte nel chip G80.

Caratteristiche tecniche

Partendo dalla versione più potente della gamma GeForce 8, nVidia ha realizzato una scheda che esteriormente era molto simile ad una scheda video GeForce 8800 GTX o Ultra, ma si differenziava in maniera evidente da queste ultime per la completa assenza di connettori video. Del resto, trattandosi di una soluzione hardware specificamente dedicata all'elaborazione parallela non avrebbe avuto molto senso integrare una connessione ad un display, in quanto la GPU in essa montata non viene tipicamente acquistata dall'utente per elaborazioni grafiche tradizionali.

Il G80 integrava 128 stream processors, ma la dotazione di memoria disponibile sulle schede Tesla era doppia rispetto alle controparti desktop, 1,5 GB contro 784 MB di tipo GDDR3 a 800 MHz (1600 MHz effettivi), mentre il BUS rimaneva quello a 384 bit, in grado di fornire una banda passante di 77 GB/s.

Prodotti disponibili basati su Tesla T8

La prima generazione della tecnologia Tesla era disponibile in 3 distinte categorie di prodotti:

Tesla D870

Chiamata anche "GPU Deskside", si trattava di una soluzione esterna da interfacciare con una workstation grafica, al cui interno trovavano posto 2 schede video "Tesla C870" collegate tra di loro attraverso la nota tecnologia SLI. Secondo nVidia, tale soluzione era in grado di offrire una potenza elaborativa massima di circa 1 TFlops a fronte di un consumo energetico pari a 550 Watt, per un costo d'acquisto di 7500 $.

Tesla C870

Era di fatto l'elemento base di tutte le soluzioni Tesla; il consumo massimo dichiarato da nVidia per queste schede era pari a 170 Watt a fronte di una potenza elaborativa di 518 GFlops; si tratta di valori allineati alle soluzioni desktop, ma la vera differenza era costituita dal costo d'acquisto, pari a 1499 $ e quindi sensibilmente superiore sia alle schede GTX che a quelle Ultra: del resto tali architetture erano destinate a particolari tipologie di utilizzi, per i quali il fattore costo è decisamente meno vincolante rispetto a quello di una soluzione desktop.

Tesla S870

Con questo prodotto nVidia dichiarò di aver pensato espressamente a chi necessita necessita di notevoli risorse di calcolo parallelo, e infatti la lettera "S" stava ad indicare la parola "Server". Si trattava di una soluzione sviluppata espressamente per poter essere inserita all'interno di un datacenter, superando le limitazioni proprie delle workstation che non possono essere montate in Rack. All'interno erano presenti 4 schede Tesla C870, collegate tra di loro a coppia attraverso la tecnologia SLI e in grado di comunicare all'esterno attraverso una connessione PCI Express. Una conseguenza di tale approccio risiedeva nella necessità di utilizzare 2 PC esterni per gestire la logica di controllo di tale sistema, a ciascuno dei quali veniva collegata una coppia di GPU a loro volta collegate tra di loro in SLI. Ogni scheda video veniva raffreddata da un voluminoso dissipatore di calore passivo, sviluppato in modo tale che l'aria soffiata dalle 18 ventole frontali del rack potesse attraversarlo; altre ventole erano posizionate sia nell'alimentatore del sistema che in prossimità di aree interne al rack non raggiunte direttamente dal flusso generato dalle ventole principali. Secondo nVidia, il consumo massimo arrivava a 800 W per una potenza elaborativa che sfiorava i 2 TFlops ad un costo di 12000 $.

Alcune applicazioni "reali" della prima generazione di Tesla

Al fine di dimostrare la fiducia di alcune importanti aziende nelle nuove soluzioni Tesla, nVidia ha illustrato alcune applicazioni reali della tecnologia GPGPU messa a disposizione dai nuovi prodotti:

  • Acceleware e Boston Scientific - Boston Scientific è un'azienda che produce pacemakers e altre tipologie di impianti biomedici, per la costruzione dei quali vengono condotte numerose simulazioni al computer. Grazie alla collaborazione con Acceleware 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 delle GPU nVidia. L'implicazione diretta di questo incremento di velocità è stata 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.
  • Evolved Machine - In questo caso l'ambito di ricerca si spostava sull'analisi neuronale, dato che l'azienda è impegnata nello studio dei circuiti neuronali su larga scala. L'ordine di grandezza di tale tipo di elaborazioni è estremamente complesso, dato che la simulazione del comportamento di un singolo neurone richiede la risoluzione di 200 milioni di equazioni differenziali al secondo, con una potenza elaborativa stimata in circa 4 GFlops. Un'analisi completa richiede lo studio di centinaia di neuroni e delle loro interrelazioni, con una potenza elaborativa che supera i 10 TFlops. Queste simulazioni vengono eseguite sfruttando la potenza di elaborazione delle GPU, con incrementi sino a 130 volte rispetto a quanto registrato sfruttando le tradizionali CPU. 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.
  • Headwave - Si tratta di un'azienda che si occupa di trivellazioni, cioè della ricerca di giacimenti naturali di gas e petrolio. In questi ambiti il ruolo della simulazione, partendo da un pacchetto di dati raccolti nell'area di possibile scavo diventa indispensabile al fine di minimizzare i costi di tale ricerca. Dato che più elevato è il numero dei dati raccolti ed elaborati e più precisi saranno i risultati dell'analisi, è chiaro come l'enorme aumento della potenza di elaborazione richiesta possa trarre ottimi benefici dallo sviluppo di software in grado di sfruttare adeguatamente la potenza delle GPU. Headwave è riuscita ad ottenere in questo modo miglioramenti del 2000% nei tempi di elaborazione rispetto all'utilizzo di tradizionali CPU.

L'utilizzo delle GPU permette quindi sia di ridurre i tempi di elaborazione delle simulazioni, che di analizzare immediatamente i dati acquisiti in modo multidimensionale direttamente nella stessa giornata nella quale essi sono stati raccolti.

  • University of Illinois at Urbana-Champaign’s (UIUC) - Nell'elaborazione di processi biomolecolari è stato possibile accelerare la simulazione delle interazioni tra molecole biologiche e ioni di oltre 100 volte, rispetto a quanto ottenuto con un cluster di 18 CPU; il picco di potenza elaborativa, ottenuto con una workstation dotata di 3 GPU al proprio interno, è stato di 705 GFlops. Allo stesso tempo l'ingombro limitato di queste soluzioni ha permesso di eliminare la necessità di una stanza dedicata ad un computer cluster.

Seconda generazione di Tesla: "Tesla T10"

Dopo 1 anno dalla presentazione della prima generazione di Tesla, il 17 giugno 2008 nVidia ha annunciato l'evoluzione di questa tecnologia, appoggiandosi alla nuova generazione delle proprie GPU, conosciuta come GT200 e presentata parallelamente. Le novità introdotte nella seconda generazione di prodotti Tesla, indicati come "Tesla serie 10", per affinità con le GPU GT200 appartenenti alla decima generazione, vengono illustrate di seguito; è da evidenziare come non sia mai esistita ufficialmente un "Tesla T9", in quanto l'architettura di nona generazione è in realtà una revisione del chip G80, presentata solo pochi mesi prima della vera innovazione arrivata mediante la GPU GT200.

Caratteristiche tecniche

La seconda generazione della tecnologia Tesla si appoggia alla versione più potente delle 2 nuove soluzioni desktop presentate da nVidia, la GeForce GTX 280. La scheda su cui si basano tutte le varianti di Tesla T10 fornisce quindi 240 stream processors, ciascuno con frequenza di clock di 1,33 GHz, con pressoché un raddoppio nel numero delle unità di elaborazione rispetto a quanto messo a disposizione con la prima generazione di schede Tesla basate su GPU G80. Grazie a questo numero di unità di elaborazione la potenza di calcolo massima teorica in single precision delle soluzioni Tesla passa da 500 GFlops a 1 TFlop. La nuova GPU è composta da 1,4 miliardi di transistor per una superficie del die pari a ben 600 mm².

Ulteriori, e significative, innovazioni sono arrivate anche dal versante della memoria video presente sulle schede: il quantitativo è passato dai precedenti 1,5 GB a ben 4 GB di tipo GDDR3 a 800 MHz (1600 MHz effettivi) e, grazie soprattutto all'adozione del nuovo BUS da 512 bit (G80 aveva un BUS da 384 bit), anche la banda passante di tale memoria è notevolmente aumentata, passando dai precedenti 77 GB/s a ben 102 GB/s (ovvero circa il 33% in più). Per mettere a disposizione un quantitativo di memoria video così elevato nVidia ha dovuto utilizzare 32 chip memoria, montati 16 per ciascun lato della scheda. La frequenza della memoria video è in realtà inferiore a quella disponibile nelle soluzioni desktop; si tratta di un limite derivato proprio dal maggiore quantitativo di tale memoria e in particolare del numero di chip memoria che vengono montati e che non potrebbero garantire la stabilità operativa se funzionassero a frequenze più elevate.

Infine anche lo standard di interconnessione è stato migliorato, diventando di tipo PCI Express 2.0 in modalità 16x; il passaggio da PCI Express a PCI Express 2.0 (a parità di linee, x16) ha consentito di raddoppiare la banda passante tra la scheda e il resto del sistema.

Prodotti disponibili basati su Tesla T10

A differenza di quanto avvenuto nella prima generazione, con il lancio della seconda nVidia ha deciso di non offrire più un sistema di tipo "GPU Deskside" come il modello D870. Non si conoscono i motivi di tale scelta commerciale ma è probabile che tutto dipenda dallo scarso interesse del pubblico verso questo tipo di soluzione. La seconda generazione di Tesla quindi offre solo 2 categorie di prodotti, illustrate di seguito:

Tesla C1060

Si tratta di una scheda dedicata, simile alla soluzione "Tesla C870" appartenente alla prima generazione di Tesla, che riprende per costruzione e soluzioni tecniche il progetto delle scheda video GeForce GTX 280. Di conseguenza, sono presenti 240 stream processors e 4 GB di memoria video, funzionanti alle frequenze standard illustrate sopra.

L'incremento prestazionale rispetto all'analogo prodotto appartenente alla prima generazione è netto, e dovuto sia al raddoppio del numero degli stream processor (240 contro i precedenti 128), sia al nuovo quantitativo di memoria video, sebbene quest'ultimo sia veramente influente solo in particolari tipi di applicazioni. Secondo nVidia, con applicazioni come Reverse Time Migration si ottengono miglioramenti fino a 1,9 volte a parità di memoria video (si tratterebbe comunque di un modello non disponibile in commercio), mentre sfruttando tutti i 4 GB a disposizione è possibile arrivare anche a incrementi di 3,5 volte nei tempi di elaborazione.

Tesla S1070: tutti in un server rack

La versione di Tesla T10 pensata per l'inserimento in un sistema server rack a 1 unità è ancora dotato di 4 schede C1060, al pari di quanto avvenuto per la prima generazione con il modello S870 che integrava 4 schede C870.

L'approccio costruttivo e di utilizzo di questo sistema rimane molto simile alla versione analoga appartenente alla prima generazione, sebbene il BUS di interconnessione sia stato aggiornato allo standard PCI Express 2.0. Le schede Tesla integrate in questa soluzione sono leggermente differenti dalle soluzioni C1060 discrete, a parte il sistema di raffreddamento che diventa passivo (raffreddato comunque dalle ventole dell'unità rack), ogni scheda integra stream processors funzionanti a 1,5 GHz, in luogo degli originali 1,33 GHz.

Considerazioni su calcoli "single precision" e "double precision"

Una delle principali innovazioni dell'architettura del chip GT200 rispetto al precedente G80 è data dalla possibilità da parte della nuova GPU di effettuare anche elaborazioni di tipo "double precision", ovvero proprio una delle principali critiche che era stata mossa al progetto precedente. Ovviamente non tutti gli ambiti di elaborazione necessitano di "double precision" anzi, per alcuni, come ad esempio le elaborazioni sul genoma umano, è ampiamente sufficiente la "single precision", mentre per altri ancora è possibile addirittura accontentarsi della "half precision". Tali semplificazioni infatti consentono, quando possono essere sfruttate senza inconvenienti, di ottenere tempi di elaborazione particolarmente ridotti.

Collegamenti esterni

Voci correlate