Che cos’è il GPU Computing e a cosa serve?

0
99

Diverse GPU configurate per il mining di Bitcoin.
archy13/Shutterstock.com

Le unità di elaborazione grafica (GPU) sono progettate per eseguire il rendering della grafica in tempo reale. Tuttavia, si scopre che ciò che rende le GPU eccezionali per la grafica le rende eccezionali anche in determinati lavori non grafici. Questo è noto come GPU Computing.

In che cosa differiscono CPU e GPU?

In linea di principio, sia le GPU che le CPU (Central Processing Unit) sono prodotti della stessa tecnologia. All’interno di ogni dispositivo ci sono processori costituiti da milioni a miliardi di componenti elettronici microscopici, principalmente transistor. Questi componenti formano elementi del processore come porte logiche e da lì sono integrati in strutture complesse che trasformano il codice binario nelle sofisticate esperienze informatiche che abbiamo oggi.

La principale differenza tra CPU e GPU è parallelismo. In una CPU moderna, troverai più core CPU complessi e ad alte prestazioni. Quattro core sono tipici per i computer tradizionali, ma le CPU a 6 e otto core stanno diventando mainstream. I computer professionali di fascia alta possono avere dozzine o anche più di 100 core CPU, specialmente con schede madri multi-socket che possono ospitare più di una CPU.

Ogni core della CPU può fare una o (con hyperthreading) due cose alla volta. Tuttavia, quel lavoro può essere quasi tutto e può essere estremamente complesso. Le CPU hanno un’ampia varietà di capacità di elaborazione e design incredibilmente intelligenti che le rendono efficienti nello sgranocchiare calcoli complicati.

Le GPU moderne in genere hanno migliaia di semplici processori al loro interno. Ad esempio, la GPU RTX 3090 di Nvidia ha ben 10496 core GPU. A differenza di una CPU, ogni core della GPU è relativamente semplice in confronto ed è progettato per eseguire i tipi di calcoli tipici del lavoro grafico. Non solo, ma tutte queste migliaia di processori possono lavorare su una piccola parte del problema di rendering grafico allo stesso tempo. Questo è ciò che intendiamo per “parallelismo”.

Informatica generica su GPU (GPGPU)

Ricorda che le CPU non sono specializzate e possono eseguire qualsiasi tipo di calcolo, indipendentemente dal tempo impiegato per portare a termine il lavoro. In effetti, una CPU può fare tutto ciò che può fare una GPU, semplicemente non può farlo abbastanza velocemente per essere utile nelle applicazioni grafiche in tempo reale.

Annuncio

Se questo è il caso, allora è vero anche il contrario in una certa misura. Le GPU possono fare alcuni degli stessi calcoli che di solito chiediamo alle CPU di fare, ma poiché hanno un design di elaborazione parallela simile a un supercomputer, possono farlo di ordini di grandezza più velocemente. Questa è GPGPU: utilizzare le GPU per eseguire i tradizionali carichi di lavoro della CPU.

I principali produttori di GPU (NVIDIA e AMD) utilizzano linguaggi e architetture di programmazione speciali per consentire agli utenti di accedere alle funzionalità GPGPU. Nel caso di Nvidia, questo è CUDA o Architettura del dispositivo unificato di calcolo. Questo è il motivo per cui vedrai i loro processori GPU indicati come core CUDA.

Poiché CUDA è proprietario, i produttori di GPU concorrenti come AMD non possono usarlo. Invece, le GPU di AMD utilizzano OpenCL o Linguaggio di calcolo aperto). Questo è un linguaggio GPGPU creato da un consorzio di aziende che include Nvidia e Intel.

GPU nella ricerca scientifica

Uno scienziato in un laboratorio guarda attraverso un microscopio.
Gorodenkoff/Shutterstock.com

Il GPU computing ha rivoluzionato ciò che gli scienziati possono fare con budget molto più ridotti rispetto a prima. Data mining, in cui i computer cercano modelli interessanti in montagne di dati, ottenendo informazioni che altrimenti andrebbero perse nel rumore.

Annuncio

Progetti come Folding@Home utilizzano il tempo di elaborazione della GPU domestica donato dagli utenti per lavorare su problemi gravi come il cancro. Le GPU sono utili per tutti i tipi di simulazioni scientifiche e ingegneristiche che avrebbero richiesto anni per essere completate in passato e milioni di dollari noleggiati su grandi supercomputer.

GPU nell’Intelligenza Artificiale

Le GPU sono ottime anche in alcuni tipi di lavori di intelligenza artificiale. L’apprendimento automatico (ML) è molto più veloce sulle GPU rispetto alle CPU e gli ultimi modelli di GPU hanno hardware di apprendimento automatico ancora più specializzato integrato.

Che cos'è l'apprendimento automatico?

IMPARENTATOChe cos’è l’apprendimento automatico?

Un esempio pratico di come le GPU vengono utilizzate per far avanzare le applicazioni di intelligenza artificiale nel mondo reale è l’avvento delle auto a guida autonoma. Secondo Tesla, il loro software Autopilot ha richiesto 70.000 ore di GPU per “addestrare” la rete neurale con le abilità per guidare un veicolo. Fare lo stesso lavoro sulle CPU sarebbe troppo costoso e dispendioso in termini di tempo.

GPU nel mining di criptovalute

Diverse GPU si sono schierate in un impianto di mining di criptovaluta.
Everyonephoto Studio/Shutterstock.com

Le GPU sono anche eccellenti per decifrare enigmi crittografici, motivo per cui sono diventate popolari nel mining di criptovalute. Sebbene le GPU non estraggano criptovaluta con la stessa rapidità degli ASIC (circuiti integrati specifici dell’applicazione), hanno il netto vantaggio di essere versatili. Gli ASIC di solito possono estrarre solo un tipo specifico o un piccolo gruppo di criptovalute e nient’altro.

I minatori di criptovaluta sono uno dei motivi principali per cui le GPU sono così costose e difficili da trovare, almeno al momento in cui scriviamo all’inizio del 2022. Sperimentare le vette della tecnologia GPU significa pagare caro, con il prezzo corrente di una NVIDIA GeForce RTX 3090 essendo oltre $ 2.500. È diventato un tale problema che NVIDIA ha limitato artificialmente le prestazioni di crittografia delle GPU di gioco e ha introdotto prodotti GPU speciali specifici per il mining.

Puoi usare anche GPPGPU!

Anche se potresti non esserne sempre consapevole, alcuni dei software che usi ogni giorno scaricano parte della sua elaborazione sulla tua GPU. Ad esempio, se lavori con software di editing video o strumenti di elaborazione audio, ci sono buone probabilità che la tua GPU stia sopportando parte del carico. Se vuoi affrontare progetti come creare i tuoi deepfake a casa, la tua GPU è ancora una volta il componente che lo rende possibile.

La GPU del tuo smartphone è anche responsabile dell’esecuzione di molti dei lavori di intelligenza artificiale e visione artificiale che sarebbero stati inviati ai computer cloud per l’esecuzione. Quindi dovremmo essere tutti grati che le GPU possano fare di più che disegnare un’immagine attraente sullo schermo.