Будет ли __syncthreads () вызывать мертвую блокировку, если ее выполняют только несколько потоков?
У меня есть такое ядро:
__global__ void Kernel(int N,int *a)
{
if(threadIdx.x<N)
{
for(int i=0;i<N;i++)
{
a[threadIdx.x]= //Some calculation using a and i
__syncthreads()
}
}
}
если число потоков в блоке больше N, то некоторые потоки не будут выполнять код. это приведет к тупику?
если да, то как я могу изменить код?