E4 Workshop 2010, l'HPC parla italiano

E4 Workshop 2010, l'HPC parla italiano

Bologna ha ospitato, nelle giornate del 16 e 17 Settembre, un importante workshop organizzato da E4 Computer Engineering, incentrato sull'HPC con il coinvolgimento dei principali player di settore in ambito hardware: AMD, ATI, NVIDIA e Intel.

di Paolo Corsini pubblicato il nel canale Server e Workstation
NVIDIAATIIntelAMD
 

GPU Computing: una strategia per il futuro

GPU Computing: sono trascorsi poco più di 3 anni dal debutto delle prime soluzioni NVIDIA della famiglia Tesla, e da poco meno di 4 anni si parla di CUDA. L'ambito del GPU Computing è per molti versi ancora agli inizi ma è possibile vedere molti ambiti di applicazione di GPU in ambito HPC con le quali ottenere tangibili incrementi prestazionali.

slide_3.jpg (39255 bytes)

La posizione delle due aziende in questo settore è molto differente. NVIDIA punta tutto sulle potenzialità di CUDA e sulla diffusione che la programmazione con questo linguaggio ha raggiunto negli ultimi anni. E' innegabile, del resto, vedere come la diffusione del GPU Computing sia passata per la maggiore attraverso lo sforzo di NVIDIA in questo ambito, soprattutto con riferimento alle iniziative in ambito universitario per la creazione di classi di studio sul GPU Computing. Anche in questa direzione dobbiamo considerare gli sforzi architetturali portati avanti dall'azienda americana, come una serie di peculiarità architetturali (architettura delle cache interne e memoria ECC, ad esempio) delle GPU della famiglia Fermi che trovano piena applicazione in ambito GPU Computing e che risultano essere del tutto superflue in contesto consumer o di grafica 3D tradizionale.

Per AMD, invece, la strategia vede l'abbinamento tra CPU e GPU con queste ultime che operano come coprocessori dedicati in ambiti HPC. Per il produttore americano, quindi, possiamo per certi versi fare riferimento ad una vera e propria piattaforma per il calcolo HPC con la quale fornire bilanciamento più verso la componente CPU o quella GPU a seconda del tipo di codice che deve essere eseguito. Per AMD, al pari di NVIDIA, la parte GPU Computing passa necessariamente attraverso architetture fortemente specializzate, non compatibili con codice x86 in modo diretto ma che possano sfruttare al meglio le peculiarità dell'hardware per velocizzare l'esecuzione di codice.

slide_2.jpg (55990 bytes)

Dal versante software AMD è fermamente convinta che la strategia futura passi attraverso Open CL, così da poter fornire un unico ambiente di programmazione adatto sia a CPU come a GPU e che possa beneficiare della piattaforma completa che l'azienda mette a disposizione. Questo approccio dell'azienda americana è del resto una strategia da lungo adottata: AMD è sempre stata predisposta alle piattaforme open, andando a prediligere standard di mercato a proprie innovazioni dirette nel rapporto tra software e hardware.

Dialogando con chi utilizza clister HPC ogni giorno, sia in ambito di azienda come in quello della ricerca universitaria, appare evidente come quantomeno al momento attuale sia NVIDIA quella che vanta una posizione dominante. L'azienda americana è stata capace di fornire architetture hardware performanti nel corso degli ultimi anni ma è con il proprio ecosistema, CUDA in testa, che ha raggiunto un livello di supporto ai propri clienti che, a detta degli stesso operatori, non è stato lontanamente avvicinato da AMD. Questa situazione, a nostro avviso, è frutto di due principali motivazioni: da un lato la maggiore disponibilità di risorse da parte di NVIDIA e dall'altra la relativa lentezza con la quale si muovono gli standard open. Per la prima ricordiamo come CUDA rappresenti per NVIDIA una opportunità di mercato fondamentale nel settore professionale, dal quale poter ricavare elevati fatturati e margini e per il quale quindi investire molte risorse. Per la seconda è evidente come lo sviluppo di uno standard condiviso tra varie aziende, NVIDIA compresa, sia una strategia più efficace e brillante nel lungo periodo ma nel breve soggetta a ritardi rispetto allo sviluppo di uno standard autonomo e indipendente come CUDA.

L'attenzione verso le GPU, in ambito HPC, è estremamente elevata e riteniamo che nel corso dei prossimi anni questo sarà un settore caratterizzato da tassi di innovazione e crescita molto alti. Del resto, in HPC si ricerca potenza di elaboratica maggiore in modo pressoché costante, e il tasso di innovazione delle GPU rispetto alle CPU apre margini molto interessanti per il breve periodo. Vero è che Intel sia stata capace di presentare, con il proprio modello tick-tock, un gran numero di processori e architetture innovative negli ultimi anni con una periodicità predefinita ma in ambito GPU i margini di innovazione, complice la relativa giovinezza del settore, sono superiori e con tassi di implementazione più rapidi.

 
^