Qual è la differenza tra GPU e CPU?

Una CPU, o unità di elaborazione centrale, è un componente hardware che rappresenta l'unità computazionale principale di un server. Gestisce tutti i tipi di attività informatiche necessarie per l'esecuzione del sistema operativo e delle applicazioni. Un'unità di elaborazione grafica (GPU) è un componente hardware simile ma più specializzato. Può gestire in modo più efficiente operazioni matematiche complesse eseguite in parallelo rispetto a una CPU generica. Sebbene le GPU siano state inizialmente create per gestire le attività di rendering grafico nei giochi e nell'animazione, ora i loro usi si estendono ben oltre.

Punti in comune tra GPU e CPU

Sia le CPU che le unità di elaborazione grafica (GPU) sono unità hardware che fanno funzionare un computer. Puoi considerarle come il cervello di un dispositivo informatico. Entrambe hanno componenti interni simili, inclusi core, memoria e unità di controllo.

Core

Sia l'architettura delle GPU che quella delle CPU hanno core che eseguono tutti i calcoli e le funzioni logiche. Il core estrae le istruzioni dalla memoria sotto forma di segnali digitali chiamati bit. Decodifica le istruzioni e le esegue attraverso porte logiche in un lasso di tempo chiamato ciclo di istruzioni. Le CPU inizialmente avevano un singolo core, ma oggi sono comuni le CPU e le GPU multi-core.

Memoria

Sia le CPU che le GPU eseguono milioni di calcoli ogni secondo e utilizzano la memoria interna per migliorare le prestazioni di elaborazione. La cache è la memoria integrata che facilita l'accesso rapido ai dati. Nelle CPU, le etichette L1, L2 o L3 indicano la disposizione della cache. L1 è la più veloce mentre L3 è la più lenta. Un'unità di gestione della memoria (MMU) controlla lo spostamento dei dati tra il core della CPU, la cache e la RAM in ogni ciclo di istruzioni.

Unità di controllo

L'unità di controllo sincronizza le attività di elaborazione e determina la frequenza degli impulsi elettrici generati dall'unità di elaborazione. Le CPU e le GPU con frequenza più elevata offrono prestazioni migliori. Tuttavia, il design e la configurazione di questi componenti differiscono in CPU e GPU, quindi i due sono utili in situazioni diverse.

Differenze principali: CPU vs. GPU

L'avvento della grafica computerizzata e dell'animazione ha portato ai primi carichi di lavoro ad alta intensità di calcolo che le CPU semplicemente non erano progettate per gestire. Ad esempio, l'animazione dei videogiochi richiedeva che le applicazioni elaborassero i dati per visualizzare migliaia di pixel, ognuno con il proprio colore, intensità della luce e movimento individuali. I calcoli matematici geometrici sulle CPU all'epoca portavano a problemi di prestazioni.

I produttori di hardware iniziarono a rendersi conto che il trasferimento delle comuni attività orientate ai contenuti multimediali poteva alleggerire la CPU e aumentare le prestazioni. Oggi, i carichi di lavoro delle unità di elaborazione grafica (GPU) gestiscono diverse applicazioni ad alta intensità di calcolo, come il machine learning e l'intelligenza artificiale, in modo più efficiente rispetto alle CPU.

Funzione

La differenza principale tra CPU e GPU risiede nelle loro funzioni. Un server non può funzionare senza una CPU. La CPU gestisce tutte le attività necessarie per il corretto funzionamento di tutto il software sul server. Una GPU, invece, supporta la CPU per eseguire calcoli simultanei. Una GPU può completare attività semplici e ripetitive molto più velocemente perché può suddividerle in componenti più piccoli e completarle in parallelo.

Progettazione

Le GPU eccellono nell'elaborazione parallela tramite diversi core o unità logiche aritmetiche (ALU). I core delle GPU sono meno potenti dei core delle CPU e hanno meno memoria. Sebbene le CPU possano passare rapidamente da un set di istruzioni all'altro, una GPU prende semplicemente un volume elevato delle stesse istruzioni e le esegue ad alta velocità. Di conseguenza, le funzioni della GPU svolgono un ruolo importante nell'elaborazione parallela.

Esempio delle differenze

Per capire meglio, si consideri la seguente analogia. La CPU è come un capo chef in un grande ristorante che deve assicurarsi che vengano preparati centinaia di hamburger. Anche se il capo chef può farlo personalmente, può usare il suo tempo in un modo migliore. Tutte le operazioni in cucina possono infatti interrompersi o rallentare mentre il capo chef sta completando questo compito semplice ma dispendioso in termini di tempo. Per evitare ciò, il capo chef può utilizzare assistenti junior che preparano contemporaneamente più hamburger. La GPU è più simile a un assistente junior con dieci mani che può preparare 100 hamburger in 10 secondi.

Quando utilizzare le GPU rispetto alle CPU

È importante notare che la scelta tra CPU e unità di elaborazione grafica (GPU) non è una o l'altra. Ogni server o istanza di server nel cloud per funzionare richiede una CPU. Tuttavia, alcuni server includono come coprocessori aggiuntivi anche le GPU. I carichi di lavoro specifici sono più adatti per l'esecuzione su server con GPU che eseguono determinate funzioni in modo più efficiente. Ad esempio, le GPU possono essere ideali per il calcolo di numeri a virgola mobile, l'elaborazione grafica o la corrispondenza di modelli di dati.

Ecco alcune applicazioni in cui può essere utile utilizzare le GPU anziché le CPU.

Deep learning

Il deep learning è un metodo di intelligenza artificiale (IA) che insegna ai computer a elaborare i dati in un modo che si ispira al cervello umano. Gli algoritmi di deep learning sono in grado di riconoscere modelli complessi in immagini, testo, suoni e altri dati per produrre informazioni e previsioni accurate. I server basati su GPU offrono prestazioni elevate per il machine learning, le reti neurali e le attività di deep learning.

Scopri di più sul deep learning »

Scopri di più sul machine learning »

Scopri di più sulle reti neurali»

Calcolo ad alte prestazioni

Il termine calcolo ad alte prestazioni si riferisce ad attività che richiedono una potenza di calcolo molto elevata. Ecco alcuni esempi:

  • Esecuzione di simulazioni geoscientifiche ed elaborazione sismica a velocità sostenuta e su larga scala
  • Progettazione di simulazioni finanziarie per identificare i rischi del portafoglio di prodotti, le opportunità di copertura e altro ancora
  • Creazione di applicazioni di data science predittive, in tempo reale o retrospettive per la medicina, la genomica e la scoperta di farmaci

Un sistema informatico basato su GPU è più adatto per attività di elaborazione ad alte prestazioni come queste.

Scopri di più sull'elaborazione ad alte prestazioni»

Veicoli a guida autonoma

Per sviluppare e implementare sistemi avanzati di assistenza alla guida (ADAS) e sistemi per veicoli a guida autonoma (AV), sono necessarie tecnologie di elaborazione, archiviazione, rete e analisi altamente scalabili. Ad esempio, sono necessarie funzionalità per la raccolta dei dati, l'etichettatura e l'annotazione, lo sviluppo di mappe, lo sviluppo di algoritmi, le simulazioni e la verifica. Per funzionare in modo efficiente, carichi di lavoro così complessi richiedono il supporto di sistemi informatici basati su GPU.

Riepilogo delle differenze: CPU vs. GPU

 

CPU

Unità di elaborazione grafica (GPU)

Funzione

Componente generalizzato che gestisce le principali funzioni di elaborazione di un server

Componente specializzato che eccelle nell'elaborazione parallela

Elaborazione

Progettato per l'elaborazione seriale delle istruzioni

Progettato per l'elaborazione parallela delle istruzioni

Progettazione

Meno core ma più potenti

Più core rispetto alle CPU, ma meno potenti

Ideale per

Applicazioni informatiche generiche

Applicazioni informatiche ad alte prestazioni

In che modo AWS può supportare i requisiti dei tuoi server di CPU e GPU?

Amazon Web Services (AWS) offre Amazon Elastic Compute Cloud (Amazon EC2), la piattaforma di elaborazione più ampia e profonda. Ha più di 500 istanze e si può scegliere tra processore, archiviazione, rete, sistema operativo e modello di acquisto più recenti per soddisfare al meglio le esigenze del proprio carico di lavoro.

Ecco alcuni punti salienti di ciò che offre Amazon EC2:

  • Le istanze per uso generico forniscono un equilibrio tra risorse di calcolo, memoria e rete. Puoi scegliere tra configurazioni con un numero di CPU virtuali compreso tra 2 e 128.
  • Le istanze a calcolo accelerato forniscono core aggiuntivi per unità di elaborazione grafica (GPU) per una maggiore potenza di elaborazione. Si possono avere fino a otto GPU in ogni istanza.

Inizia a usare le istanze di server in AWS creando un account gratuito oggi stesso.

Passaggi successivi con AWS

Inizia a progettare con GPU
Inizia a progettare con CPU