GPU-programmeren
Bij welke toegang werkt CUDA constant memory bijzonder snel?
- AWanneer alle threads van een warp hetzelfde adres lezen (één leesactie kan aan iedereen worden uitgedeeld)
- BWanneer de threads van een warp elk naar een ander adres schrijven
- 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.