c - 关闭 cuda c 中的线程

标签 c cuda

while loop {
  if condition then compute;
  else exit();
  ...
  __syncthreads( );
}

Cuda C 中是否有一种方法可以关闭线程,以便 __syncthreads(或其他适当的函数)不会等待它?谢谢。

最佳答案

据我所知,没有办法从 Cuda 中的线程“退出”。

顺便说一句,在您发布的伪代码中,实际上并不需要退出杀死线程,事实上,如果您将其重写为:

while loop {
  if(condition) {
    compute;
  }
  __syncthreads();
}

应该可以正常工作。

关于c - 关闭 cuda c 中的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29196942/

相关文章:

c - 类型何时应用于指针算术逻辑?

c++ - CUDA 在内核中对在主机上创建的对象调用虚拟方法

sorting - 并行基数排序,这个实现实际上是如何工作的?有一些启发式方法吗?

linux - 在 Windows 中运行时的 CUDA 性能损失

testing - 无法构建 CUDA 测试应用程序

c++ - 将线程号映射到数组中的(非顺序)位置

c - 如何在 C 中使用动态多维数组?

c++ - 如何通过取消引用内存中的另一个地址来取消引用内存中的特定地址?

c++ - C/C++多进程访问同一个变量的方法

c++ - 可变参数函数的内联