GPGPU

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

GPGPU (General-Purpose computing on Graphics Processing Units) is het gebruikmaken van een GPU (Graphic Processing Unit), welke hoofdzakelijk belast is met het aansturen van de computer graphics van programma’s. GPUs zijn te vinden op videokaarten voor PCs (bijvoorbeeld GeForce, Radeon); of ingebouwd op moederborden van laptops; of als losse modules (Tesla).

In hedendaagse computers worden enerzijds de meeste programma’s uitgevoerd door de CPU (Central Processing Unit). Anderzijds beschikken computers meestal eveneens over grafische kaarten met een processor met meer dan 1000 rekeneenheden, die vandaag de dag programmeerbaar is.

De eerste programmeerbare grafische kaarten maakten gebruik van shaders: deze programma’s waren in staat pixelmatige manipulaties te doen of geometrische waarden te manipuleren. Om deze shaders te kunnen uitvoeren beschikten deze over een vrij rudimentaire processor, die kon variëren in functie van de uit-te-voeren manipulatie (pixels of geometrische warden). Naarmate de tijd verstreek heeft een nieuw type processoren het daglicht gezien, nl. de stream processoren. Deze Processoren kunnen gebruikmaken van verschillende rekenunits. Vandaar zijn, niet te onderschatten parallelle structuur. Deze processoren beschikken over een kernel, die een tabel aan data voorgeschoteld krijgt (stream), die dan verwerkt dient te worden. Opdat deze verwerkt zou kunnen worden en er berekeningen mee kunnen uitgevoerd worden, wordt de stream door een microcontroller opgesplitst in kleinere onderdelen, nl. Threads, die dan over de verschillende stream processoren worden verdeeld. Deze berekeningen worden dan op een parallelle wijze uitgevoerd zodat, een tijdswinst kan ondervonden worden.

Ten gevolge van deze parallelle architectuur kunnen de performanties van een triviale GPU soms 2000% (!) procent hoger liggen dan deze van een CPU. De kostprijs van de complexe GPU’s is fors gedaald sinds de stijging van de videogames-verkoop.

Gebruikmaken van GPGPU kan alleen als de broncode van het programma beschikbaar is omdat deze opnieuw gecompileerd en deels aangepast moet worden. Een standaardtaal voor het programmeren van GPUs is OpenCL (Open Compute Language), een fabrikant-afhankelijke taal is bijvoorbeeld CUDA van Nvidia. Beiden lijken op de taal 'C'.

Voornaamste toepassingen GPGPU: wetenschap, videogames en in commerciele omgevingen waar veel gegevens verwerkt moeten worden. De momenteel snelste computer ter wereld (TITAN) maakt eveneens gebruik van GPGPU.


Zie ook[bewerken]

Externe links[bewerken]