Wat is Constant memory?

Klein gebied op de GPU voor waarden die tijdens de uitvoering van de kernel niet worden gewijzigd. Is snel wanneer alle threads van een warp hetzelfde adres lezen, omdat één leesactie naar iedereen wordt verspreid.

Japanse benaming: 定数メモリ

“Constant memory” komt voor in 1 oefenvragen uit 1 onderwerpen, bijv. GPU-programmeren.

Vakgebied: GPU-programmeren

Nu oefenen: vragen over Constant memory

Bij welke toegang werkt CUDA constant memory bijzonder snel?

  1. AWanneer alle threads van een warp hetzelfde adres lezen (één leesactie kan aan iedereen worden uitgedeeld)
  2. BWanneer de threads van een warp elk naar een ander adres schrijven
  3. CWanneer de threads van een warp elk willekeurig een ander adres lezen
Antwoord en toelichting tonen

Antwoord: A. Wanneer alle threads van een warp hetzelfde adres lezen (één leesactie kan aan iedereen worden uitgedeeld)

Constant memory is een klein gebied dat tijdens de uitvoering van de kernel niet wordt herschreven en een eigen cache heeft. Als alle threads van een warp hetzelfde adres lezen, kan het resultaat van één leesactie in één keer aan iedereen worden uitgedeeld, zodat zeer snel wordt gelezen. Het is geschikt voor gevallen waarin alle threads dezelfde waarde gebruiken, zoals filtercoëfficiënten van beelden of parameters van natuurkundige simulaties. Bij verspreide adressen splitsen de leesacties zich en wordt het juist trager.

“Constant memory” in de toelichting

Vragen met “Constant memory” (1)

  1. Bij welke toegang werkt CUDA constant memory bijzonder snel?

Verwante termen

CUDA Bankconflict Gemengde precisie (mixed precision) GPU-kernel Grid-stride loop Latentieverberging (latency hiding) Memory coalescing Occupancy OpenCL Parallelle reductie

Naar de woordenlijst