login LOGIN
CHIUDI chiudi
Il mio profilo

mostra
Hai dimenticato la password?
Inserisci l'indirizzo email di registrazione per reimpostare la password.
Segui le istruzioni che ti abbiamo inviato per posta elettronica.

Cos'è e come funziona il GPU computing

Introdotto da Nvidia nel 2007, il computing affiancato dalle GPU permette di ridurre i tempi di esecuzione delle istruzioni e rendere più efficiente l'elaborazione dei programmi

Il Graphic Processing Unit di una scheda video

Quasi tutti i dispositivi informatici in commercio sono dotati di un acceleratore grafico (o scheda grafica, o, più precisamente, GPU) il cui compito è di elaborare dati, informazioni e istruzioni relative al “comparto” grafico del computer. Integrata all'interno della scheda madre o montata su schede elettroniche dedicate, la GPU (acronimo di Graphic Processing Unit, “unità di elaborazione grafica”) si occupa dell'elaborazione dei dati digitali in arrivo dalle altre periferiche e dalle altre componenti del computer e della loro decodifica in un segnale compatibile con monitor o proiettori.

 

Server basato su GPU anziché CPU

 

Con gli anni, il carico di dati da trattare è divenuto via via più pesante (la grafica tridimensionale dei videogame, solo per fare un esempio, richiede una capacità di elaborazione sempre più grande), spingendo sempre più verso l'alto l'asticella prestazionale delle GPU. Capaci di elaborare milioni di poligoni al secondo, le GPU negli ultimi tempi sono andate incontro a una rivoluzione tecnologica che ne ha modificato la struttura e l'articolazione delle varie componenti interne. Oggi una Graphic Processing Unit è composta da migliaia di unità di elaborazione dati che, in parallelo, si occupano di eseguire operazioni e istruzioni grafiche.

Nella gran parte dei casi, però, il potenziale di calcolo delle GPU resta inespresso: solo in caso di elaborazione di contenuti 3D la scheda grafica è chiamata a esprimere tutta la sua potenza, in tutte le altre occasioni (ovvero nel 90% dei casi, a meno che non si giochi frequentemente con videogame di ultima generazione) le enormi capacità di elaborazione della GPU rimane largamente inutilizzata. Nel 2007, però, la storia cambia: Nvidia – uno dei due maggiori produttori di acceleratori grafici – introduce i concetti del GPGPU (acronimo di General-Purpose computing on Graphics Processing Units, letteralmente "calcolo a scopo generale su unità di elaborazione grafiche"), detto anche GPU computing.

Differenza tra CPU e GPU

L'esperienza quotidiana con i computer ci insegna che l'elaborazione dei dati e delle istruzioni dei programmi è compito specifico del processore o CPU (acronimo di Central Processing Unit, “unità centrale di elaborazione”). I vari core che compongono il processore sono ottimizzati per l'esecuzione seriale sequenziale delle istruzioni: i pacchetti dati in arrivo dalla memoria di lavoro (la RAM) e le istruzioni dei programmi sono eseguite una alla volta, in successione, in maniera seriale. Tutti i core, dunque, si occupano allo stesso tempo della medesima istruzione sino a che questa non è completata, generando dunque un flusso di lavoro sequenziale.

 

Differenza tra CPU e GPU

 

Le GPU, per la natura dei compiti loro richiesti, utilizzano un metodo di lavoro completamente opposto: anziché eseguire una sola operazione alla volta (serialmente), ne portano avanti diverse migliaia contemporaneamente (in parallelo). Ciò ha avuto un innegabile influsso sulla struttura delle componenti interne: anziché avere pochi core ottimizzati per un lavoro seriale, la scheda grafica ha diverse migliaia di unità di elaborazione, di grandezza e potenza minore rispetto a quella di una CPU, ottimizzate però per lavorare parallelamente. Le varie unità di calcolo possono essere programmate per eseguire porzioni di codice o programma anche di natura differente grazie all'utilizzo dei cosiddetti shader. In questo modo si è stati in grado di raggiungere un alto grado di efficienza nella capacità di calcolo delle unità di elaborazione grafica, dando il via allo sviluppo di tecniche informatiche che permettessero di utilizzare la potenza residua non utilizzata per scopi differenti dall'elaborazione grafica. In breve, l'introduzione dello shader model ha portato alla nascita del GPU computing.

Cos'è il GPU computing

Detta anche computing affiancato dalle GPU, questa tecnica informatica consiste nell'affiancare la GPU alla CPU nell'esecuzione di particolari istruzioni informatiche. In particolare, il GPU computing trova applicazione in campo scientifico e nei settori dell'analisi tecnica, consumer e aziendale. Molti problemi affrontati in questi settori, infatti, possono essere scomposti e analizzati parallelamente, sia nella realtà sia nella simulazione “virtuale” di un processore informatico. Questa caratteristica fa sì che le GPU siano ideali per l'elaborazione di dati di questo genere: la loro architettura interna, ottimizzata per l'esecuzione parallela delle istruzioni, garantisce una maggiore efficienza di calcolo e la risoluzione dei problemi in un lasso di tempo minore. In particolare, il GPU computing permette di velocizzare quelle operazioni informatiche nelle quali è richiesta l'elaborazione e il trattamento di immagini: trova quindi applicazione nella ricerca medica scientifica, nello studio di proteine e del DNA, nella ricerca geologica e nell'analisi dei problemi finanziari.

I vantaggi e i limiti del GPU computing

Il computing affiancato dalle GPU offre diversi vantaggi rispetto all'esecuzione di programmi e istruzioni da parte del solo processore centrale (CPU).

 

Schede video montate in parallelo per aumentare la potenza di calcolo del computer

 

  • Vantaggi prestazionali. Una GPU è capace di offrire una maggiore capacità di elaborazione rispetto a un normale processore di pari fascia di potenza. La diversa architettura interna, infatti, permette di accorciare il tempo di esecuzione di istruzioni complesse, consentendo dunque di completare l'elaborazione delle informazioni in minor tempo. Ciò è possibile, però, solo nel caso in cui il codice del programma sia stato ottimizzato per l'esecuzione parallela anziché per l'esecuzione seriale delle istruzioni. In alcuni casi limite, con codice ottimizzato e scritto appositamente per la parallelizzazione delle istruzioni, le GPU sono in grado di garantire prestazioni 100 volte superiori rispetto a quelle delle CPU di pari potenza

  • Vantaggi sul costo. Non si notano grandi scostamenti tra CPU e GPU appartenenti alla stessa fascia di mercato. La grande differenza, come visto, la fanno le prestazioni: dal momento che una scheda grafica è in grado, dal punto di vista teorico, di eseguire le stesse operazioni di un processore in un centesimo del tempo, appare chiaro come una scheda di elaborazione grafica costi relativamente meno

  • Tasso d'aggiornamento tecnologico. Le architetture interne delle GPU vanno incontro ad aggiornamenti più frequenti rispetto a quelli dei processori. Questo permette di disporre con maggior frequenza di componenti hardware più performanti e ottimizzate per eseguire carichi di lavoro sempre più pesanti

  • Consumo/prestazioni. Anche se negli ultimi anni i produttori di processori hanno lavorato molto sull'ottimizzazione dei consumi energetici dei processori, le GPU restano, nella maggioranza dei casi, più convenienti nel rapporto consumi/prestazioni. Come detto, infatti, accade molto raramente che la GPU raggiunga il carico massimo di elaborazione – e di conseguenza il picco nei consumi energetici

A cura di Cultur-e
Segui le ultime notizie sul nostro canale Whatsapp
Immagine principale del blocco
Segui le ultime notizie sul nostro canale Whatsapp
Fda gratis svg
Iscriviti al canale gratuito

Iscriviti
all'area personale

Per ricevere Newsletter, scaricare eBook, creare playlist vocali e accedere ai corsi della Fastweb Digital Academy a te dedicati.