开发者

How to Compile CUDA App is Visual Studio 2010?

How to Compile CUDA App is Visual Studio 2010 ?

Here a开发者_如何学编程re my steps: 1. Create Empty C++ project without precompiled headers 2. Add main.cpp

int main()
{
 return 0;
}
  1. Add kernels.cu

    I referred to sample project MAtrixMul and copied its settings step by step. it can be complied now

#include "cuda.h"

__global__ void VecAdd(float* A, float* B, float* C)
{
 int i = threadId.x;
 C[i] = A[i] + B[i];
}
  1. Right-Click on project -> Build customizations -> Check cuda 3.2
  2. kernels.cu -> properties ->Compile with CUDA C/C++
  3. TRY Compiling: I get error:

Error 37 error : This version of the CUDA Toolkit does not support the v100 compiler. Please verify that the Platform Toolset property is set to v90 under the General node of the project properties. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 3.1.targets 157 4 dfdfs

  1. Change Platform ToolSet to v90
  2. TRY Compiling: I get errors:

Error 38 error MSB3721: The command ""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"" exited with code 2. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 3.1.targets 272 4 dfdfs

Error 37 error : identifier "threadId" is undefined E:\Projects!Probing\dfdfs\kernels.cu 5 1 dfdfs

Please healp me out.

Thanks, Ilya


Yes i did, and it IS working.

  1. Create C++ project

  2. Project(right click)->build customisation Check "Cuda 3.2 compiler"*

  3. Add cudart.lib to properties->linker->input->additional dependencies

  4. Add main.cu -> properties Item type = CUDA C/C++*

  5. Project -> properties ->configuration Properties -> general -> v90 toolset**

*) will appear after you install Nvidia Parallel Nsight. Be careful, you need special drivers for that, more on NSight homepage)

**) you need to instal visual c++ 2008 express.

Anyway, example project still should be available at my nvidia forum post. The problem i'm complaining there about is just out-of-date drivers.


I found this post on the cuda forums at nVidia. One of the moderators says (Nov 09: We don't support VS2010 yet).

This may not be the case any longer, but that your error message states that the CUDA toolkit version you're using doesn't support the V100 compiler, would suggest that you may need to upgrade your CUDA toolkit.

If you've got the latest version, check and see if the CUDA toolkit supports VS2010 yet.

v90 is a way of referring to the compiler that comes with VS2008, so I'd assume that VS2010 is compiler v100.

Maybe you've got an MSDN subscription and can fall back to VS2008.

This SO post would also seem to suggest that CUDA doesn't support VS2010 compiler (yet!)


Visual Studio 2010 is definitely supported -- be sure to use the recently released nSight 1.5 (not the beta). I haven't updated the question I asked, but @portland, you've followed all of the correct steps. You simply have a typo in your kernel.

You've referenced threadId.x instead of threadIdx.x -- note the x.


i referred to sample project MAtrixMul and copied its settings step by step. it can be complied now, but doesnt process any calculations. The problem is described here at SO in details

You can view my project with all it needs from my post at nvidia forums (2.7 kb)

Thanks, Ilya

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜