GPU-programmeren
Welke algemene richtlijn voor het bepalen van het aantal threads per block in CUDA is juist?
- AEen veelvoud van de warpgrootte van 32 (zoals 128 of 256)
- BAltijd 1
- CAltijd een priemgetal
Antwoord en toelichting tonen
Antwoord: A. Een veelvoud van de warpgrootte van 32 (zoals 128 of 256)
De threads van een block worden in warps van 32 verdeeld, dus bij bijvoorbeeld 100 threads gebruikt de laatste warp er maar 4 en gaan de uitvoeringsplaatsen van de overige 28 verloren. Met een veelvoud van 32 kan elke warp volledig worden benut. In de praktijk worden vaak circa 128 tot 256 threads gebruikt, bijgesteld aan de hand van occupancy en het gebruik van shared memory.