GPGPU
È l'acronimo di "General-Purpose computation on Graphics Processing Units". GPGPU, o calcolo su GPU, consiste nell'utilizzo di una GPU per gestire operazioni di calcolo generiche. I moderni sistemi operativi consentono ai programmi di accedere alla GPU insieme alla CPU, aumentando le prestazioni complessive.
Sebbene le GPU siano progettate per elaborare calcoli grafici, possono essere utilizzate anche per eseguire altre operazioni. GPGPU massimizza l'efficienza di elaborazione trasferendo alcune operazioni dall'unità centrale di elaborazione (CPU) alla GPU. Invece di rimanere inattiva quando non elabora grafica, la GPU è costantemente disponibile per eseguire altre attività. Poiché le GPU sono ottimizzate per elaborare calcoli vettoriali, possono persino elaborare alcune istruzioni più rapidamente della CPU.
GPGPU è un tipo di elaborazione parallela in cui le operazioni vengono elaborate simultaneamente tra CPU e GPU. Quando la GPU termina un calcolo, può memorizzare il risultato in un buffer e poi passarlo alla CPU. Poiché i processori possono completare milioni di operazioni al secondo, i dati vengono spesso memorizzati nel buffer solo per pochi millisecondi.
Il calcolo su GPU è reso possibile da un linguaggio di programmazione che consente a CPU e GPU di condividere le richieste di elaborazione. Il più diffuso è OpenCL, uno standard aperto supportato da diverse piattaforme e schede video. Tra gli altri vi sono CUDA (Compute Unified Device Architecture), un'API creata da NVIDIA, e APP (Accelerated Parallel Processing), un SDK fornito da AMD.
Metti alla prova le tue conoscenze