GPU-programmeren

Welke uitspraak over de bezettingsgraad (occupancy) van een GPU is juist?

  1. AHet aandeel van het chipoppervlak van de GPU dat door rekeneenheden wordt ingenomen
  2. BDe verhouding van het werkelijke aantal warps dat op een SM staat tot het maximale aantal warps dat tegelijk op een SM kan staan
  3. CHet aandeel van het geheugen van de GPU dat met data is gevuld
Antwoord en toelichting tonen

Antwoord: B. De verhouding van het werkelijke aantal warps dat op een SM staat tot het maximale aantal warps dat tegelijk op een SM kan staan

Het aantal warps dat een SM tegelijk kan laden heeft een bovengrens, en het werkelijke aantal wordt bepaald door onder meer de registers per thread, het shared memory per block en de blockgrootte. Die verhouding is de occupancy. Bij een lage occupancy zijn er weinig warps die kunnen worden uitgevoerd in plaats van de warps die op geheugen wachten, en staan de rekeneenheden gemakkelijk stil. CUDA biedt ook een tool om de occupancy te berekenen.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over GPU-programmeren

  1. Welke methode is de belangrijkste waarmee een GPU lange geheugenlatentie (enkele honderden klokcycli) verbergt?
  2. Welke uitspraak over de occupancy van een GPU is juist?
  3. Welke uitspraak over de relatie tussen blocks en SM's (streaming multiprocessors) in CUDA is juist?
  4. In CUDA wil men halverwege een kernel wachten tot de berekeningen van alle andere blocks klaar zijn voordat men naar de volgende fase gaat. Welke methode is gebruikelijk?
  5. Bij het maken van een histogram van pixelwaarden op een GPU kan het traag zijn als alle threads rechtstreeks met atomicAdd bij de 256 bins in global memory optellen. Welke verbetermethode is juist?

Vergelijkingen bij dit onderwerp