CUDA中使用Intrinsic Function

由于CUDA C/C++的表达方式中没有一些像“计算前导零”以及“位反转”等特殊操作。因此我们可能不得不直接用PTX来处理这些逻辑,这样能一个周期搞定。

现在本人在《NVIDIA CUDA Programming Guide Version 3.0》中找到了很多指令对应的Intrinsic Function,这样一来我们就不需要直接写PTX就能获得相同的效果。

请参见附录C。这里讲述了数学函数中的标准函数以及Intrinsic Functions。

附录中所列出的所有函数都能直接使用。

而当我们使用某些函数后,用--ptx选项生成ptx后报错,说明当前的计算版本太低,不支持该指令。我们可以通过手动指定计算版本来使它支持——

/usr/local/cuda/bin/nvcc -arch=compute_13 --ptx filename.cu 

上述命令就是将计算架构指明为compute1.3。这样我们就可以用一些PTX2.0中才加出来的一些原子操作指令。

像atomicExch、atomicAdd等等。

你可能感兴趣的:(CUDA中使用Intrinsic Function)