I'm mostly set up for CUDA development. I've installed the developer drivers, CUDA 4.0 toolkit, and the 4.0 SDK, as well as the bugfix. I'm running Windows 7 x64, and am using Visual C++ 2010 Express. For 32-bit applications, I perform the following steps and my CUDA applications work properly.
- Create new empty project
- make sure Platform Toolset is set to v100 (normally the default)
- check the CUDA 4.0 Build Customization for the project
- set the item type of my .cu file to CUDA C/C++
- add 'cudart.lib' to Properties->Linker->Input->Additional Dependencies
I can also run non-CUDA 64-bit applications. Visual C++ 2010 Express does not come with 64-bit dependencies automatically, so I had to install the Windows 7.1 SDK w/ .NET Framework 4.0. Then I simply set the Platform Toolset for the VC++ project to Windows7.1SDK, change the Active solution platform to x64, and I'm good to go.
However, I can't seem to do both at the same time - I can't create a 64-bit CUDA application. If I change the Platform Toolset of a CUDA application to Windows7.1SDK, whether the Acti开发者_开发百科ve solution platform is x64 or Win32, I get the compile error that nvcc.exe exited with code -1. And if I leave the Platform Toolset set to v100 and change the Active solution platform to x64, I get the compile error "fatal error LNK1104: cannot open file 'kernel32.lib'. The only combination that works is v100 and Win32, and obviously that prevents me from running a 64-bit application.
Is there a procedure for enabling this functionality that I just haven't been able to find online? Any ideas or suggestions? Thanks for your time.
Not possible in express edition , ( does not support plugins ) unless you want to setup nvcc manually , and use notepad to write cu files, I very much prefer the VS integration .
You could check that the host compiler properties for the .cu files are set to 64-bit. Right-click the "Code.cu" file and click 'Properties'. Expand the "CUDA C/C++" item and select "Common". Change "Target Machine Platform" to 64-bit.
精彩评论