CUDA: Appel d'un __device__ fonction à partir d'un noyau

J'ai un noyau qui appelle une appareil fonction à l'intérieur d'une instruction if. Le code est comme suit:

__device__ void SetValues(int *ptr,int id)
{
    if(ptr[threadIdx.x]==id) //question related to here
          ptr[threadIdx.x]++;
}

__global__ void Kernel(int *ptr)
{
    if(threadIdx.x<2)
         SetValues(ptr,threadIdx.x);
}

Dans les threads du noyau 0-1 appel SetValues simultanément. Ce qui se passe après qui? Je veux dire il y a maintenant 2 appels simultanés à la SetValues. Est-ce que chaque appel de la fonction exécuter en série? Donc, ils se comportent comme des 2 noyau appels de fonction?

InformationsquelleAutor scatman | 2011-04-19