CUDA 知识点:线程束内同步函数 __syncwarp() | CUDA
当所涉及的线程都在一个线程束内时,可以使用开销更小的线程束内同步函数 __syncwarp()
。该函数的原型为:
1 | void __syncwarp(unsigned mask = 0xfffffff); |
该函数有个可选的参数,该参数是一个代表掩码的无符号整型数,默认值的全部 32 个二进制位都为 1,代表线程束中的所有线程都参与同步。如果要排除一些线程,可以用一个对应的二进制位为 0 的掩码参数。例如,掩码 0xffffffe 代表排除第 0 号线程。
参考
《CUDA 编程:基础与实践》(樊哲勇,清华大学出版社)
CUDA 知识点:线程束内同步函数 __syncwarp() | CUDA