Cos'è una GPU?

Un'unità di elaborazione grafica (GPU) è un circuito elettronico in grado di eseguire calcoli matematici ad alta velocità. Le attività di calcolo come il rendering grafico, il machine learning (ML) e l'editing video richiedono l'applicazione di operazioni matematiche simili su un set di dati di grandi dimensioni. Il design di una GPU consente di eseguire la stessa operazione su più valori di dati in parallelo. Ciò aumenta l'efficienza di elaborazione per molte attività che richiedono un uso intensivo delle capacità computazionali.

Perché le GPU sono importanti?

La GPU è uno strumento eccellente per eseguire elaborazioni parallele generiche, ma storicamente non è sempre stato così. Come suggerisce il nome, le GPU sono state inizialmente progettate per un compito specifico: controllare la visualizzazione delle immagini.

Origine della GPU

Prima della GPU, si utilizzavano schermi a matrice di punti realizzati negli anni Quaranta e Cinquanta. Successivamente sono stati rilasciati i display vettoriali e i raster, e ancora dopo le prime console per videogiochi e PC. All'epoca, la visualizzazione sullo schermo era coordinata da un dispositivo non programmabile chiamato controller grafico. Generalmente, i controller grafici si affidavano alla CPU per l'elaborazione, sebbene alcuni includessero processori su chip.

Più o meno nello stesso periodo, era in corso un progetto di imaging 3D riguardante la generazione di un singolo pixel su uno schermo con un singolo processore. L'obiettivo era produrre un'immagine che combinasse molti pixel in un breve lasso di tempo. Da questo progetto è nata la GPU che oggi conosciamo.

Le prime GPU sono uscite soltanto alla fine degli anni Novanta. Erano rivolte ai mercati dei videogiochi e della progettazione assistita da computer (CAD). La GPU integrava un motore di rendering precedentemente basato su software e un motore di trasformazione e illuminazione con il controller grafico, il tutto su un chip programmabile. 

Evoluzione della tecnologia GPU

Nel 1999 Nvidia è stata la prima azienda a commercializzare le GPU GeForce 256 a chip singolo. I primi due decenni del nuovo millennio hanno segnato un'epoca di grande crescita per le GPU, che hanno acquisito funzioni come ray tracing, mesh shading e tassellazione hardware. Ciò ha portato a prestazioni grafiche e di generazione di immagini sempre più avanzate. 

Solo nel 2007 Nvidia ha rilasciato CUDA, un livello software che rende disponibile l'elaborazione parallela sulla GPU. In questo periodo, divenne chiaro che le GPU erano molto efficaci nell'eseguire attività altamente specifiche. In particolare, si sono distinte in attività che richiedono una grande quantità di potenza di elaborazione per ottenere un risultato particolare.

Con il rilascio di CUDA, Nvidia ha aperto la programmazione delle GPU a un pubblico più ampio. Da quel momento, gli sviluppatori hanno iniziato a programmare la tecnologia GPU per tutti i tipi di applicazioni pratiche ad alta intensità di calcolo. Il calcolo GPU ha cominciato a diventare molto più diffuso.

Le GPU sono un chip molto richiesto per le blockchain e altre applicazioni emergenti. Vengono sempre più utilizzate anche per l'intelligenza artificiale e il machine learning (IA/ML).

Quali sono le applicazioni pratiche di una GPU?

Le GPU possono essere utilizzate in un'ampia gamma di applicazioni ad alta intensità di calcolo, tra cui applicazioni finanziarie, di difesa e attività di ricerca su larga scala. Ecco alcuni degli usi delle GPU oggigiorno più diffusi.

Videogiochi

Le prime applicazioni della GPU che si estendevano oltre le applicazioni di visualizzazione per governi e grandi aziende riguardavano i videogiochi personali. Sono state utilizzate nelle console di gioco degli anni Ottanta e sono ancora presenti nei PC e nelle console di gioco attuali. Le GPU sono essenziali per il rendering grafico complesso.

Visualizzazione professionale

Le GPU trovano impiego in una vasta gamma di applicazioni professionali, quali il disegno CAD, il montaggio video, le procedure dettagliate e l'interattività dei prodotti, l'elaborazione di immagini mediche e le immagini sismiche. Inoltre, vengono utilizzate per altre applicazioni complesse di modifica e visualizzazione di immagini e video. Le applicazioni basate su browser possono persino sfruttare la GPU tramite librerie come WebGL.

Machine learning

L'addestramento di un modello di machine learning (ML) richiede una grande quantità di potenza di calcolo. Ora può essere eseguito sulle GPU per accelerare i risultati. Mentre addestrare un modello su hardware acquistato in autonomia può richiedere molto tempo, è possibile ottenere rapidamente risultati utilizzando una GPU cloud.

Blockchain

Le criptovalute sono costruite sulla tecnologia blockchain. Un particolare tipo di algoritmo della blockchain, indicato con il termine "proof of work", generalmente fa ampio uso delle GPU per il suo funzionamento. Oggi, i circuiti integrati per applicazioni specifiche (ASIC), che sono simili ma diversi dai chip tradizionali, sono ampiamente adottati come alternativa all'utilizzo delle GPU per l'elaborazione nella tecnologia blockchain.

Le dimostrazioni algoritmiche della blockchain, come la proof of stake, riducono la dipendenza da enormi capacità di calcolo, ma la proof of work rimane ancora ampiamente diffusa.

Simulazione

Le applicazioni di simulazione avanzate come quelle utilizzate nella dinamica molecolare, nelle previsioni meteorologiche e nell'astrofisica possono essere tutte realizzate tramite GPU. Le GPU sono anche alla base di molte applicazioni del settore automobilistico e della progettazione di veicoli di grandi dimensioni, inclusa la fluidodinamica.

Come funziona una GPU?

Le GPU moderne in genere contengono diversi multi-processori. Ciascuno ha un blocco di memoria condiviso, oltre a un numero di processori e registri corrispondenti. La GPU stessa ha una memoria costante, oltre alla memoria del dispositivo sulla scheda su cui è alloggiata. 

Ogni GPU funziona in modo leggermente diverso a seconda dello scopo, del produttore, delle specifiche del chip e del software utilizzato per coordinare la GPU. Ad esempio, il software di elaborazione parallela CUDA di Nvidia consente agli sviluppatori di programmare in modo specifico la GPU per quasi tutte le applicazioni di elaborazione parallela generiche. 

Le GPU possono essere chip autonomi, noti come GPU discrete, oppure integrate con altro hardware di calcolo, note come GPU integrate (iGPU).

GPU discrete

Le GPU discrete sono dei chip completamente dedicati all'attività da svolgere. In origine, tale attività era tradizionalmente la grafica, ma ora le GPU discrete vengono utilizzate come elaborazione dedicata anche per attività come il ML o le simulazioni complesse.

Quando viene utilizzata nella grafica, la GPU risiede in genere su una scheda grafica alloggiata in una scheda madre. In altre attività, la GPU può risiedere su una scheda o in uno slot diverso direttamente sulla scheda madre stessa. 

GPU integrate

All'inizio del secondo decennio del nuovo millennio si è cominciato ad assistere a un progressivo allontanamento dalle GPU discrete. I produttori hanno accolto con favore l'introduzione della combinazione di CPU e GPU su un singolo chip, noto come iGPU. I primi esemplari di questi iGPU per PC sono state le linee Celeron, Pentium e Core di Intel, tuttora popolari su laptop e PC. 

Un altro tipo di iGPU è il sistema su chip (SoC) che contiene componenti come CPU, GPU, memoria e rete. Questo tipo di chip viene utilizzato tipicamente negli smartphone.

Virtuale

Come altri tipi di infrastruttura hardware di calcolo, anche le GPU possono essere virtualizzate. Le GPU virtualizzate sono una rappresentazione basata su software di una GPU che condivide lo spazio insieme ad altre GPU virtuali su istanze di server cloud. Possono essere utilizzate per eseguire i carichi di lavoro senza doversi preoccupare della manutenzione dell'hardware sottostante.

Qual è la differenza tra una GPU e una CPU?

La differenza principale tra una CPU e una GPU è il rispettivo scopo in un sistema informatico. Hanno ruoli diversi a seconda del sistema. Ad esempio, hanno scopi diversi in un dispositivo di gioco portatile, un PC e un supercomputer con diversi armadi server.

In generale, la CPU si occupa del controllo completo del sistema, della gestione e delle attività generiche. Al contrario, la GPU gestisce attività ad alta intensità di calcolo come l'editing video o il machine learning.

Più specificamente, le CPU sono ottimizzate per eseguire attività come le seguenti:

  • Gestione del sistema
  • Multi-tasking tra diverse applicazioni
  • Operazioni di input e output
  • Funzioni di rete
  • Controllo delle periferiche
  • Multi-tasking nel sistema di memoria e archiviazione

Qual è la differenza tra una GPU e una scheda grafica?

I termini unità di elaborazione grafica e scheda grafica vengono spesso usati in modo intercambiabile, ma non sono la stessa cosa.

La scheda grafica è una scheda aggiuntiva (AIB) che viene inserita in uno specifico alloggiamento sulla scheda madre del computer. Le schede grafiche non sono integrate nel computer, ma sono schede intercambiabili. Una scheda grafica viene fornita completa di una GPU.

La GPU è il componente principale delle schede grafiche. Può trovarsi accanto ad altri componenti come la RAM video (VRAM) per la memoria video, le porte (come HDMI o DisplayPort) e un componente di raffreddamento. Tuttavia, una GPU può anche essere integrata direttamente nella scheda madre o come chip all-in-one insieme ad altri componenti.

In che modo AWS può supportare i tuoi requisiti di GPU?

Amazon Web Services (AWS) offre Amazon Elastic Compute Cloud (Amazon EC2), la piattaforma di elaborazione più ampia e profonda.

Amazon EC2 offre più di 500 istanze con un'ampia scelta di processori, tipologie di archiviazione, reti, sistemi operativi e modelli di acquisto di ultima generazione. Può soddisfare facilmente le esigenze di qualsiasi carico di lavoro.

Con Amazon EC2, è facile noleggiare ed eseguire le GPU nel cloud. La potenza di elaborazione delle GPU può essere sfruttata per l'editing video, la grafica di rendering, l'intelligenza artificiale (IA) e altre funzionalità di elaborazione parallela.

Le istanze Amazon EC2 possono adattarsi a quasi tutti i tipi di carico di lavoro:

  • Le istanze P2 sono destinate ad applicazioni di calcolo GPU per uso generico.
  • Le istanze P5 di Amazon EC2 dispongono di otto GPU integrate. Sono istanze basate su GPU di ultima generazione. Offrono le prestazioni più elevate di Amazon EC2 per il deep learning e il calcolo ad alte prestazioni (HPC).
  • Le istanze G5 di Amazon EC2 sono alimentate da processori AWS Graviton2 e dispongono di GPU NVIDIA T4G Tensor Core. Offrono il miglior rapporto prezzo/prestazioni di Amazon EC2 per carichi di lavoro grafici come lo streaming di giochi Android.

Inizia a utilizzare le GPU su AWS creando un account oggi stesso.

Fasi successive su AWS

Consulta ulteriori risorse correlate al prodotto
Informati sui servizi di calcolo 
Registrati per creare un account gratuito

Ottieni accesso istantaneo al Piano gratuito di AWS.

Registrati 
Inizia a lavorare nella console

Inizia subito a creare nella Console di gestione AWS.

Accedi