如何编译CUDA应用程序是Visual Studio 2010?

Ily*_*gin 4 cuda visual-studio-2010

如何编译CUDA应用程序是Visual Studio 2010?

以下是我的步骤:1.创建没有预编译头的Empty C++项目2.添加main.cpp

int main()
{
 return 0;
}
Run Code Online (Sandbox Code Playgroud)
  1. 添加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];
}
Run Code Online (Sandbox Code Playgroud)
  1. 右键单击项目 - >构建自定义 - >检查cuda 3.2
  2. kernels.cu - > properties - >使用CUDA C/C++编译
  3. TRY编译:我收到错误:

错误37错误:此版本的CUDA Toolkit不支持v100编译器. 请验证项目属性的"常规"节点下的Platform Toolset属性是否设置为v90.C:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 3.1.targets 157 4 dfdfs

  1. 将Platform ToolSet更改为v90
  2. TRY编译:我收到错误:

错误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

请把我救出来.

谢谢,伊利亚

Ily*_*gin 5

是的,我做了,它正在工作.

  1. 创建C++项目

  2. 项目(右键单击) - >构建自定义检查"Cuda 3.2编译器"*

  3. 添加cudart.lib到properties-> linker-> input->其他依赖项

  4. 添加main.cu- >属性项类型= CUDA C/C++*

  5. 项目 - >属性 - >配置属性 - >常规 - > v90工具集**

安装Nvidia Parallel Nsight后会出现*).小心,你需要特殊的驱动程序,更多在NSight主页上)

**)您需要安装visual c ++ 2008 express.

无论如何,示例项目仍然可以在我的nvidia论坛帖子中找到.我抱怨的问题只是过时的驱动程序.