GPU-programmeren

Welke uitspraak over wat in GPU-programmering zoals CUDA een 'kernel' wordt genoemd, is juist?

  1. AHet centrale deel van het besturingssysteem van de GPU
  2. BEen functie die door veel threads tegelijk op de GPU wordt uitgevoerd
  3. CEen component die de GPU-chip koelt
Antwoord en toelichting tonen

Antwoord: B. Een functie die door veel threads tegelijk op de GPU wordt uitgevoerd

Een kernel in GPU-programmering is een functie die vanuit het programma aan de CPU-zijde wordt gestart en waarbij veel threads op de GPU dezelfde code uitvoeren. Elke thread kiest met zijn eigen nummer het data-element waarvoor hij verantwoordelijk is. Bij het optellen van arrays schrijft men de kernel bijvoorbeeld zo dat één thread één element optelt, en start men zoveel threads als er elementen zijn. Het woord is hetzelfde als de kernel van een besturingssysteem, maar de betekenis is anders.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over GPU-programmeren

  1. Welke combinatie van de hiërarchie van CUDA-threads is juist (van groot naar klein)?
  2. In een CUDA-kernel wordt met bovenstaande formule het nummer i van elke thread bepaald. Wat is i voor de thread met blockIdx.x=2, blockDim.x=256 en threadIdx.x=5?
  3. Een array van 1000 elementen moet worden verwerkt met 256 threads per block en één element per thread. Welk aantal blocks dat moet worden gestart is juist?
  4. Waarom wordt in de bovenstaande CUDA-kernel 'if (i < n)' opgenomen?
  5. Hoe heet bij NVIDIA-GPU's de eenheid waarin 32 threads tot één bundel worden gevormd die dezelfde instructie tegelijk uitvoert?

Vergelijkingen bij dit onderwerp