Come CPU e GPU lavorano insieme
Una CPU (central processing unit) lavora insieme a una GPU (graphics processing unit) per aumentare il throughput dei dati e il numero di calcoli simultanei all’interno di un’applicazione. Le GPU sono state originariamente progettate per creare immagini per computer grafica e console per videogiochi, ma dai primi anni 2010, le GPU possono anche essere utilizzate per accelerare i calcoli che coinvolgono enormi quantità di dati.,
Una CPU non può mai essere completamente sostituita da una GPU: una GPU integra l’architettura della CPU consentendo di eseguire calcoli ripetitivi all’interno di un’applicazione in parallelo mentre il programma principale continua a funzionare sulla CPU. La CPU può essere pensata come il taskmaster dell’intero sistema, coordinando una vasta gamma di compiti di calcolo generici, con la GPU che esegue una gamma più ristretta di compiti più specializzati (di solito matematici). Utilizzando la potenza del parallelismo, una GPU può completare più lavoro nella stessa quantità di tempo rispetto a una CPU.,
Faq
Differenza Tra la CPU e la GPU
La differenza principale tra la CPU e la GPU architettura è che una CPU è progettato per gestire una vasta gamma di compiti rapidamente (come misurato dalla velocità di clock della CPU), ma limita la concorrenza di attività che possono essere in esecuzione. Una GPU è progettata per rendere rapidamente immagini e video ad alta risoluzione contemporaneamente.,
Poiché le GPU possono eseguire operazioni parallele su più set di dati, sono comunemente utilizzate anche per attività non grafiche come l’apprendimento automatico e il calcolo scientifico. Progettate con migliaia di core del processore in esecuzione contemporaneamente, le GPU consentono un parallelismo massiccio in cui ogni core è focalizzato sull’esecuzione di calcoli efficienti.
Elaborazione CPU vs GPU
Mentre le GPU possono elaborare i dati di diversi ordini di grandezza più velocemente di una CPU a causa del parallelismo massiccio, le GPU non sono versatili come le CPU., Le CPU hanno set di istruzioni ampi e ampi, che gestiscono ogni input e output di un computer, cosa che una GPU non può fare. In un ambiente server, potrebbero esserci da 24 a 48 core CPU molto veloci. L’aggiunta di 4-8 GPU a questo stesso server può fornire fino a 40.000 core aggiuntivi. Mentre i singoli core CPU sono più veloci (misurati dalla velocità di clock della CPU) e più intelligenti dei singoli core GPU (misurati dai set di istruzioni disponibili), il numero di core GPU e l’enorme quantità di parallelismo che offrono costituiscono la differenza di velocità di clock single-core e set di istruzioni limitati.,
Le GPU sono più adatte per attività di calcolo ripetitive e altamente parallele. Oltre al rendering video, le GPU eccellono nell’apprendimento automatico, nelle simulazioni finanziarie e nella modellazione dei rischi e in molti altri tipi di calcoli scientifici. Mentre negli anni passati, le GPU sono state utilizzate per estrarre criptovalute come Bitcoin o Ethereum, le GPU in genere non sono più utilizzate su larga scala, lasciando il posto a hardware specializzato come Field-Programmable Grid Array (FPGA) e quindi Application Specific Integrated Circuits (ASIC).,
Esempi di elaborazione da CPU a GPU
Rendering di CPU e GPU video: la scheda grafica consente di transcodificare il video da un formato grafico a un altro più velocemente rispetto a una CPU.
Accelerazione dei dati — Una GPU ha una capacità di calcolo avanzata che accelera la quantità di dati che una CPU può elaborare in un determinato periodo di tempo. Quando ci sono programmi specializzati che richiedono calcoli matematici complessi, come deep learning o machine learning, tali calcoli possono essere scaricati dalla GPU. Questo libera tempo e risorse per la CPU per completare altre attività in modo più efficiente.,
Cryptocurrency mining — Ottenere valute virtuali come Bitcoin include l’utilizzo di un computer come relè per l’elaborazione delle transazioni. Mentre una CPU può gestire questa attività, una GPU su una scheda grafica può aiutare il computer a generare valuta molto più velocemente.
OmniSci supporta CPU e GPU?
Sì. La GPU Open Analytics Initiative (GOAI) e il suo primo progetto, il GPU Data Frame (GDF, ora cudf), è stato il primo passo a livello di settore verso un ecosistema aperto per l’elaborazione GPU end-to-end., Ora noto come progetto RAPIDS, l’obiettivo principale è quello di consentire una comunicazione intra-GPU efficiente tra diversi processi in esecuzione su GPU.
Man mano che l’adozione cudf cresce all’interno dell’ecosistema della scienza dei dati, gli utenti saranno in grado di trasferire un processo in esecuzione sulla GPU senza problemi a un altro processo senza copiare i dati sulla CPU. Rimuovendo le serializzazioni intermedie dei dati tra gli strumenti di data science GPU, i tempi di elaborazione diminuiscono drasticamente., Inoltre, poiché cudf sfrutta la funzionalità di comunicazione tra processi (IPC) nell’API di programmazione Nvidia CUDA, i processi possono passare un handle ai dati invece di copiare i dati stessi, fornendo trasferimenti praticamente senza sovraccarico. Il risultato netto è che la GPU diventa un cittadino di calcolo di prima classe e i processi possono interagire facilmente con i processi in esecuzione sulla CPU.