我的实验室刚收到Tesla C2070,该卡安装在运行Windows服务器64位的计算机上。我应该写一些cuda模拟。 我是否需要安装64位版本的SDK和CUDA工具包? 我问的原因是因为我想使用Visual c ++ express进行编译,它们似乎真的是32位导向。或者是否有另一个编译器可以完全解除我的限制?
感谢。
编辑1 谢谢你的回答。 到目前为止,我可以编译32位cuda / openCL代码。 安装SDK后,将目标更改为64并链接到64b lib,它仍然无法正常工作。
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 ......我错了(可能)?
答案 0 :(得分:2)
这不是你问的,但是......
Visual C ++ Express可以很好地编译64位程序。使用64位编译器,Express不会分发,但编译器是单独下载的。
安装Microsoft Windows SDK 7.1,您将能够使用Microsoft Visual C ++ Express编译x64。
答案 1 :(得分:2)
您应该下载适用于64位操作系统的64位SDK,因为版本32Bit和64Bit都有库。对于Visual C ++ 32Bit应用程序,您应该使用32位库,它可以工作。
例如在我的情况下:我有64位Windows7操作系统,为此我使用64Bit CUDA SDK并在visual studio 2008中开发我的32位c ++应用程序我使用了SDK导出的cuda 32Bit库。