GPU-programmeren

Welke uitspraak is juist over een kenmerk van GPU-caches in vergelijking met CPU's?

  1. AEen GPU heeft helemaal geen cache
  2. BOok een GPU heeft L1- en L2-caches, maar omdat het aantal threads dat tegelijk draait zeer groot is, is de cachecapaciteit per thread veel kleiner
  3. CDe cache van een GPU is per thread vele malen groter dan die van een CPU
Antwoord en toelichting tonen

Antwoord: B. Ook een GPU heeft L1- en L2-caches, maar omdat het aantal threads dat tegelijk draait zeer groot is, is de cachecapaciteit per thread veel kleiner

Ook een GPU heeft per SM een L1-cache en een L2-cache die door de hele chip wordt gedeeld, maar omdat tienduizenden threads tegelijk draaien, is de capaciteit per thread ordes van grootte kleiner dan voor één CPU-thread. Het uitgangspunt van de GPU is niet latentie te verminderen door op de cache te vertrouwen, maar latentie te verbergen door tussen veel warps om te schakelen en het geheugengebruik te verbeteren met coalesced toegang en shared memory.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over GPU-programmeren

  1. Welk voorbeeld van een programmeermechanisme voor parallelle berekeningen op GPU's e.d., dat ook voor andere GPU's dan die van NVIDIA kan worden gebruikt, is juist?
  2. Op een GPU wil men alleen de elementen die aan een voorwaarde voldoen uit een array halen en in een andere array compact wegschrijven (elke thread levert 0 of 1 uitvoer). Welke parallelle berekening wordt veel gebruikt om het schrijfadres van elke thread te bepalen?
  3. Welke uitspraak over een uitgangspunt dat bij het schrijven van GPU-kernels moet worden aangehouden, is juist?
  4. Wat is het belangrijkste doel van het laten lopen via shared memory bij het transponeren van een grote matrix op een GPU (b[j][i] = a[i][j])?
  5. Welke uitspraak is in het algemeen juist over wat er in CUDA gebeurt direct nadat het programma aan de CPU-zijde een kernel start?

Vergelijkingen bij dit onderwerp