1

为什么我不能在 CUDA 5.0 中使用这些编译器内在函数?

在 Visual Studio 2010 中,安装了 CUDA 工具包 5.0 和 Nsight 后,我​​能够编译和运行大多数 CUDA 代码,但__fadd_ru报告为未定义等。是我要编译的代码。

编辑:当在同一个项目中包含以下任一包含时,内在函数似乎变得未定义:

#include "cuda_runtime.h"
#include "device_launch_parameters.h"
4

1 回答 1

2

问题是由在项目中包含 CUDA 运行时标头引起的(不知何故)。

NVCC 编译器自动管理 cuda 运行时的包含,因此您无需手动包含它来编译。您要添加的主要原因

#include "cuda_runtime.h"
#include "device_launch_parameters.h"

对您的代码进行修改,这样您的 IDE 就不会显示错误的语法错误。由于某种原因添加device_launch_parameters.hcuda_runtime.h取决于),将导致 NVCC 用于算术的内在编译器函数出现未定义。

所以修复:当你想编译时,从项目中删除这两个包含。

于 2012-12-20T17:28:56.243 回答