Home » GPU computing

GPU computing

gpu-computing

Le GPU possono processare solo elementi indipendenti, ma possono farlo su un gran numero di elementi in parallelo. In questo senso le GPU possono essere considerare stream processors, ossia processori in grado di operare in parallelo applicando uno stesso kernel su un gran numero di set di dati all'interno di una sequenza.
CUDA (acronimo di Compute Unified Device Architecture) è un'architettura di elaborazione in parallelo che permette ai programmatori di scrivere applicazioni capaci di eseguire calcoli in parallelo sulle GPU NVIDIA utilizzando i linguaggi di programmazione più diffusi in ambito scientifico (C, Fortran, Python, Java).
OpenCL (Open Computing Language) è una libreria basata sul linguaggio di programmazione C99, che può esser eseguito su una molteplicità di piattaforme CPU, GPU e altri tipi di processori.

Il mondo dell'High Performance Computing sta vivendo in questi anni una nuova rivoluzione che va nella direzione di sfruttare sempre più l'elaborazione parallela per aumentare le prestazioni. Il GPU computing, o GPGPU, è una delle espressioni principali di questa tendenza.

GPGPU sta per General-Purpose computation on Graphics Processing Units. Le GPU (Graphics Processing Units) sono oggi processori multicore dalle alte prestazioni, capaci di elevati livelli di potenza di elaborazione e throughput. Le GPU di oggi sono processori paralleli adatti a tutti i compiti, con supporto per interfacce di programmazione accessibili e rispetto dei principali standard industriali (es. linguaggio C). Gli sviluppatori che portano le loro applicazioni su GPU spesso ottengono speedup di diversi ordini di grandezza rispetto alle analoghe implementazioni su CPU.

I benefici dell'utilizzo di una GPU per svolgere elaborazioni di tipo diverso dall'ambito grafico sono molteplici:

  • Vantaggi prestazionali: si possono ottenere incrementi anche di 100 volte rispetto a quanto offerto dalle tradizionali CPU (è richiesta l'ottimizzazione delle applicazioni, con intervento su parti del codice).
  • Costo d'acquisto: il costo delle GPU è allineato a quello di CPU della stessa fascia di mercato, e questo consente di migliorare le prestazioni per watt e, di conseguenza, l'efficienza dell'elaborazione.
  • Aggiornamento tecnologico: il susseguirsi di nuove generazioni di architetture GPU è ad oggi decisamente più veloce rispetto alle evoluzioni disponibili nel campo delle CPU.
  • Consumo/prestazioni: l'enorme potenza elaborativa teorica delle GPU compensa grandemente i consumi energetici, e consente migliori rapporti consumo/prestazioni.

Aethia mette a disposizione dei propri clienti know-how e sistemi pronti sia per sperimentare che per utilizzare in ambito produttivo il GPU-computing. Le nostre soluzioni cluster, server e workstation possono ospitare sino a 4 GPU Nvidia Tesla interne e sino a 8 esterne per singolo nodo, arrivando a una potenza di calcolo veramente notevole, dell'ordine dei 10.000 GFlops per nodo. I nostri sistemi sono già equipaggiati con il CUDA Toolkit e permettono di essere subito operativi con l'utilizzo di applicativi CUDA-enabled (CUDA Zone) o con lo sviluppo/porting di codici di calcolo.

Scopri le nostre soluzioni cluster e workstation per GPU-computing!