为什么我不能在CUDA 5.0中使用these编译器内在函数?
在Visual Studio 2010中,安装了CUDA工具包5.0和Nsight后,我能够编译和运行大多数CUDA代码,但__fadd_ru
等报告为未定义。 This是我要编译的代码。
编辑: 当以下任何一个包含在同一个项目中时,似乎内部函数变得不确定:
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
答案 0 :(得分:2)
通过在项目中包含CUDA运行时标头(不知何故)导致问题。
NVCC编译器自动管理cuda运行时的包含,因此您无需手动包含它来进行编译。你要添加
的主要原因#include "cuda_runtime.h"
#include "device_launch_parameters.h"
到您的代码是为了让您的IDE不会显示错误的语法错误。由于某种原因,添加device_launch_parameters.h
(cuda_runtime.h
取决于),将导致NVCC的内部编译器函数出现未定义的算法。
所以修复:当你想编译时从项目中删除那两个包含。