Je marchais à travers un code C/CUDA dans le débogueur, quelque chose comme:Les boucles avec et sans parenthèse sont-elles traitées différemment dans C?
for(uint i = threadIdx.x; i < 8379; i+=256)
sum += d_PartialHistograms[blockIdx.x + i * HISTOGRAM64_BIN_COUNT];
Et j'étais complètement confus parce que le débogueur passait en une seule étape, bien que la sortie était correcte. J'ai réalisé que lorsque je mettais des accolades autour de ma boucle comme dans l'extrait suivant, il se comportait dans le débogueur comme prévu.
for(uint i = threadIdx.x; i < 8379; i+=256) {
sum += d_PartialHistograms[blockIdx.x + i * HISTOGRAM64_BIN_COUNT];
}
Il en est ainsi sont entre parenthèses sans pour les boucles traitées différemment en C ou dans le débogueur, ou peut-être il est particulièrement CUDA.
Merci
Je suis juste curieux ... est-ce que les deux auront une différence de vitesse? –