как использовать cooperative_group для синхронизации сетки в cuda?
Я хочу синхронизировать все потоки в сетке с помощью cooperative_groups::this_grid(). Sync(), но кажется, что код этого предложения не может быть выполнен.
Например, я написал кусок простого кода. Второй printf не может быть выполнен. Я хочу знать, в чем проблема?
__global__
void kernel(){
printf("here\n");
cooperative_groups::this_grid().sync();
printf("here11111\n");
}
int main() {
kernel<<<64, 64>>>();
checkCudaErrors(cudaGetLastError());
cudaDeviceSynchronize();
while(1){
sleep(1);
};
return 0;
}