宏__CUDACC__
,__CUDANVVM__
和__CUDA_ARCH__
用于CUDA库头文件中的许多位置。我可以在__CUDACC__
和__CUDA_ARCH__
上找到相关信息,但除了在标题中找到它之外,我在Google上没有关于__CUDANVVM__
的任何内容。由于使用静态/强制内联调用__nv_<base_function_name>
形式的函数,我的直觉是它被用作编译libdevice
和__nv_*
的过程的一部分。函数是它们对应的函数的设备优化bitcode版本,但我还不确定,所以正在寻求澄清。
答案 0 :(得分:1)
经过http://docs.nvidia.com/cuda/libdevice-users-guide/function-desc.html#function-desc,似乎__nv_*
函数确实来自libdevice
,所以看来我的预感是正确的。