GPU-programmeren

Hoe heet bij NVIDIA-GPU's de eenheid waarin 32 threads tot één bundel worden gevormd die dezelfde instructie tegelijk uitvoert?

  1. AWarp
  2. BGrid
  3. CPage
Antwoord en toelichting tonen

Antwoord: A. Warp

De threads in een block worden in de hardware in warps van 32 verdeeld, en de 32 threads van één warp voeren dezelfde instructie tegelijk uit op verschillende data. Deze methode, waarbij als threads geschreven programma's tot een bundel worden gevormd en met dezelfde instructie werken, heet SIMT. Bij AMD-GPU's heet een vergelijkbare eenheid een wavefront, met 64 of 32 threads. Als basisregel is de blockgrootte een veelvoud van 32.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over GPU-programmeren

  1. Welke uitspraak over het verschil tussen de SIMT-methode (single instruction, multiple threads) van de GPU en SIMD-instructies van de CPU is juist?
  2. Binnen één warp splitst een voorwaardelijke sprong de helft van de threads naar de if-zijde en de rest naar de else-zijde (warp divergence). Hoe wordt dit over het algemeen uitgevoerd?
  3. Zowel (1) als (2) hierboven laat de helft van de threads A en de rest B uitvoeren. Welke uitleg is juist met betrekking tot de efficiëntie van de warps (uitgaande van 32 threads per warp)?
  4. Welke uitspraak over coalesced geheugentoegang bij GPU's is juist?
  5. Als zoals hierboven elke 32 elementen van de array wordt gelezen, waarbij i het nummer van elke thread is, is dat trager dan het lezen van a[i]. Wat is de belangrijkste reden?

Vergelijkingen bij dit onderwerp