CUDA : cours    travaux pratiques

1. TD/TP 1 : Grid, Block, thread index

Ecrire un programme tid.cpp qui permet de vérifier la validité des formules de calcul des exercices qui suivent pour lesquels on désire calculer le gtid (Global Thread InDex), en fonction des variables gridDim, blockDim, blockIdx, threadIdx. (cf cours 3)

On considère que le kernel manipulera un tableau ou un vecteur d'entiers dont la taille est égale à :

int tab[ gridDim.x * gridDim.y * gridDim.z * blockDim.x * blockDim.y * blockDim.z ]

Initialement chacun des éléments du tableau est à 0, le but de chaque thread sera de mettre l'élément correspondant à son gtid à 1.

On vérifiera que le résultat est correct en faisant la somme des éléments de tab.

Tester les cas suivants :