如何在Visual Studio 2010中编译CUDA应用程序?
以下是我的步骤: 1. 创建一个没有预编译头文件的空C++项目 2. 添加main.cpp文件
int main()
{
return 0;
}
添加 kernels.cu 文件
我参考了示例项目 MatrixMul 并逐步复制了其设置。现在可以编译它了。
#include "cuda.h"
__global__ void VecAdd(float* A, float* B, float* C) { int i = threadId.x; C[i] = A[i] + B[i]; }
- 右键单击项目->生成自定义->勾选CUDA 3.2
- kernels.cu -> 属性 -> 使用CUDA C/C++编译
- 尝试编译:出现错误:
错误37: 此版本的CUDA工具包不支持v100编译器。 请验证项目属性的常规节点下的平台工具集属性设置为v90。C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 3.1.targets 157 4 dfdfs
- 将平台工具集更改为v90
- 尝试编译:出现错误:
错误38:错误MSB3721:命令““C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.1\bin\nvcc.exe” -gencode=arch=compute_10,code=\"sm_10,compute_10\" --use-local-env --cl-version 2008 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.1\include" -G0 --keep-dir "Debug\" -maxrregcount=32 --machine 32 --compile -D_NEXUS_DEBUG -g -Xcompiler "/EHsc /nologo /Od /Zi /MDd " -o "Debug\kernels.obj" "E:\Projects!Probing\dfdfs\kernels.cu"" 已退出,代码为2。C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 3.1.targets 272 4 dfdfs
错误37:标识符“threadId”未定义 E:\Projects!Probing\dfdfs\kernels.cu 5 1 dfdfs
请帮我解决这个问题。
谢谢,Ilya