Да, конечно. Как это может быть по-другому?

я есть ядро, которое вызываетустройство функция внутри оператора if. Код выглядит следующим образом:

__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);
}

В потоках ядра 0-1 вызывается SetValues ​​одновременно. Что происходит после этого? Я имею в виду, что теперь есть 2 одновременных вызова SetValues. Каждый ли вызов функции выполняется последовательно? Так они ведут себя как 2 вызова функций ядра?

Ответы на вопрос(1)

Ваш ответ на вопрос