Articles

GPU vs CPU Computing: Cosa scegliere?

Olena
Olena

Seguire

Feb 8, 2018 · 4 min leggere

Cpu e Gpu, e hanno molto in comune. Sono entrambi microprocessori a base di silicio. Allo stesso tempo, sono sostanzialmente diversi e vengono distribuiti per ruoli diversi.

Cosa sono le CPU e le GPU?

Una CPU (central processing unit) è spesso chiamata “cervello” o “cuore” di un computer. È necessario eseguire la maggior parte dei software di ingegneria e ufficio. Tuttavia, c’è una moltitudine di compiti che possono sopraffare processore centrale di un computer. Cioè quando si utilizza GPU diventa essenziale per l’elaborazione.

Una GPU (graphics processing unit) è un tipo specializzato di microprocessore, progettato principalmente per il rendering rapido delle immagini. Le GPU sono apparse come una risposta a applicazioni graficamente intense che gravavano sulla CPU e degradavano le prestazioni del computer. Sono diventati un modo per scaricare tali attività dalle CPU, ma i moderni processori grafici sono abbastanza potenti da eseguire rapidi calcoli matematici per molti altri scopi oltre al rendering.

Qual è la differenza?

CPU e GPU elaborano le attività in modi diversi. Per quanto riguarda le interrelazioni, sono spesso confrontati con cervello e muscoli. Una CPU (il cervello) può lavorare su una varietà di calcoli diversi, mentre una GPU (il muscolo) è meglio a concentrare tutte le capacità di calcolo su un compito specifico. Questo perché una CPU è composta da pochi core (fino a 24) ottimizzati per l’elaborazione seriale sequenziale. È progettato per massimizzare le prestazioni di una singola attività all’interno di un lavoro; tuttavia, la gamma di attività è ampia. D’altra parte, una GPU utilizza migliaia di core più piccoli ed efficienti per un’architettura massicciamente parallela finalizzata alla gestione di più funzioni contemporaneamente.

Le GPU moderne offrono potenza di elaborazione superiore, larghezza di banda della memoria ed efficienza rispetto alle loro controparti CPU. Sono 50-100 volte più veloci nelle attività che richiedono più processi paralleli, come l’apprendimento automatico e l’analisi dei big data.

Fonte: blogs.nvidia.com

Quali sono i problemi Gpu adatta per affrontare?

GPU computing è definito come l’uso di una GPU insieme a una CPU per accelerare le applicazioni scientifiche, analitiche, ingegneristiche, consumer e aziendali.

Per molti anni, le GPU hanno alimentato la visualizzazione di immagini e movimenti sui display dei computer, ma sono tecnicamente in grado di fare di più. I processori grafici vengono messi in gioco quando sono necessari calcoli massicci su una singola attività.

Tale attività può includere:

  • Giochi

Un’unità di elaborazione grafica è essenziale per un rendering rapido e intensivo del mondo dei giochi. Rendering di effetti speciali e sofisticata grafica 3D in tempo reale richiede una certa potenza di calcolo serio. I compiti dei giochi moderni diventano troppo pesanti per la soluzione grafica della CPU. I giochi hanno anche fatto un ulteriore passo avanti con la realtà virtuale, che è così credibile perché le GPU possono rendere e mantenere rapidamente immagini realistiche con un’illuminazione e un’ombreggiatura adeguate.

  • Visualizzazione 3D

Le GPU guidano le prestazioni della finestra in applicazioni di visualizzazione 3D come computer-aided design (CAD). Software che consente di visualizzare gli oggetti in 3 dimensioni si basa su GPU per disegnare quei modelli in tempo reale come si ruota o spostarli.

  • Elaborazione delle immagini

Le GPU possono elaborare con precisione milioni di immagini per trovare differenze e somiglianze. Questa capacità è ampiamente utilizzata in settori come il controllo delle frontiere, la sicurezza e l’elaborazione di raggi X medici. Ad esempio, nel 2010, l’esercito americano ha collegato più di 1.700 sistemi Sony PlayStation 3TM per elaborare più rapidamente le immagini satellitari ad alta risoluzione.

  • Big Data

Con migliaia di core computazionali e throughput delle applicazioni 10–100x rispetto alle sole CPU, le unità grafiche sono la scelta per l’elaborazione di big data per scienziati e industria. Le GPU vengono utilizzate per rappresentare i dati come visualizzazione interattiva e si integrano con altri set di dati per esplorare il volume e la velocità dei dati. Ad esempio, ora siamo in grado di potenziare la mappatura genica elaborando i dati e analizzando le co-varianze per comprendere la relazione tra diverse combinazioni di geni.

  • Deep Machine Learning

L’apprendimento automatico è in circolazione da qualche tempo, ma l’elaborazione GPU potente ed efficiente lo ha portato a un nuovo livello. Il deep learning è l’uso di sofisticate reti neurali per creare sistemi in grado di eseguire il rilevamento di funzionalità da enormi quantità di dati di allenamento non etichettati. Le GPU possono elaborare tonnellate di dati di allenamento e formare reti neurali in aree come l’analisi di immagini e video, il riconoscimento vocale e l’elaborazione del linguaggio naturale, le auto a guida autonoma, la visione artificiale e molto altro.

Le GPU non sostituiscono l’architettura della CPU. Piuttosto, sono potenti acceleratori per l’infrastruttura esistente. L’elaborazione accelerata da GPU scarica porzioni di calcolo intensive dell’applicazione sulla GPU, mentre il resto del codice viene ancora eseguito sulla CPU. Dal punto di vista di un utente, le applicazioni funzionano molto più velocemente. Mentre il general-purpose computing è ancora il dominio della CPU, le GPU sono la spina dorsale hardware di quasi tutte le applicazioni computazionali intensive.