GPGPU
Staat voor "General-Purpose computation on Graphics Processing Units." GPGPU, of GPU-computing, is het gebruik van een GPU om algemene berekeningen uit te voeren. Moderne besturingssystemen laten programma's naast de CPU ook toegang krijgen tot de GPU, waardoor de algehele prestaties verbeteren.
Hoewel GPU's zijn ontworpen om grafische berekeningen te verwerken, kunnen ze ook worden gebruikt om andere bewerkingen uit te voeren. GPGPU maximaliseert de verwerkingsefficiëntie door sommige bewerkingen van de centrale verwerkingseenheid (CPU) naar de GPU te verplaatsen. In plaats van niets te doen wanneer de GPU geen grafische berekeningen uitvoert, is deze voortdurend beschikbaar om andere taken uit te voeren. Omdat GPU's zijn geoptimaliseerd voor het verwerken van vectorberekeningen, kunnen ze sommige instructies zelfs sneller verwerken dan de CPU.
GPGPU is een vorm van parallelle verwerking, waarbij bewerkingen gelijktijdig door de CPU en GPU worden verwerkt. Wanneer de GPU een berekening voltooit, kan deze het resultaat opslaan in een buffer en het vervolgens doorgeven aan de CPU. Omdat processors miljoenen bewerkingen per seconde kunnen uitvoeren, worden gegevens vaak slechts enkele milliseconden in de buffer opgeslagen.
GPU-computing wordt mogelijk gemaakt met behulp van een programmeertaal waarmee de CPU en GPU verwerkingsverzoeken kunnen delen. De populairste is OpenCL, een open standaard die door meerdere platforms en videokaarten wordt ondersteund. Andere voorbeelden zijn CUDA (Compute Unified Device Architecture), een API die door NVIDIA is gemaakt, en APP (Accelerated Parallel Processing), een SDK die door AMD wordt geleverd.
Test je kennis