2

我的实验室刚收到 Tesla C2070,该卡安装在运行 Windows Server 64 位的机器上。我应该写一些cuda模拟。我需要安装 64 位版本的 SDK 和 CUDA 工具包吗?我问的原因是因为我想使用 Visual c++ express 进行编译,而且它们似乎真的是面向 32 位的。还是有另一个编译器可以让我完全摆脱这种限制?

谢谢。

编辑 1 感谢您的回答。到目前为止,我可以编译 32 位 cuda / openCL 代码。安装 SDK 后,将目标更改为 64 并链接到 64b 库,它仍然无法正常工作。

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 4.2.targets(361,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" --use-local-env --cl-version  -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64"  -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\include"  -G  --keep-dir "x64\Debug" -maxrregcount=0  --machine 64 --compile  -g    -Xcompiler "/EHsc /nologo /Od /Zi  /MDd  " -o "x64\Debug\test.cu.obj" "c:\Users\A\Documents\Visual Studio 2010\Projects\cudaTest2\cudaTest2\test.cu"" exited with code -1.

最后,在谈到 gpgpu 模拟时,是否需要编译为 64 位应用程序?我的意思是在主机上运行的代码几乎什么都没有,而在 gpu 上运行的代码很好,它是由 nvcc 编译的,所以我选择什么并不重要,32 还是 64 ......我错了吗(可能)?

4

2 回答 2

2

这不是你问的,但是...

Visual C++ Express 可以很好地编译 64 位程序。碰巧 Express 没有随 64 位编译器一起分发,但编译器是单独下载的。

安装Microsoft Windows SDK 7.1,您将能够使用 Microsoft Visual C++ Express 为 x64 进行编译。

于 2012-09-03T05:05:01.663 回答
2

您应该下载适用于 64 位操作系统的 64 位 SDK,其中有 32 位和 64 位版本的库。对于 Visual C++ 32 位应用程序,您应该使用 32 位库,它会工作。

例如在我的情况下:我有 64 位 Windows7 操作系统,为此我使用了 64 位 CUDA SDK,并且为了在 Visual Studio 2008 中开发我的 32 位 c++ 应用程序,我使用了随 SDK 导出的 32 位 cuda 库。

于 2012-09-03T08:48:25.633 回答