CUDA 4.0 RC2 Project File Error

I just installed 64-bit versions of the Toolkit, Tools SDK and Samples on Win7 64 bit.

Opening C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 3.2\C\src\Release_vc90.sln with a fresh install of VS 2008 (had to dig it up… been on VS 2010 for a while now…), I get the error message:

The following error has occurred during XML parsing:

File: C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 3.2\C\src\asyncAPI\asyncAPI_vc90.vcproj
Line: 22
Column: 4
Error Message:
Custom build rules file ‘C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCProjectDefaults\NvCudaRuntimeApi.rules’ was not found or failed to load.
The file ‘C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 3.2\C\src\asyncAPI\asyncAPI_vc90.vcproj’ has failed to load.

The path

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCProjectDefaults\

exists, but there is no NvCudaRuntimeApi.rules in that path.

and the solution fails to open.


I had the same problem for other reasons… I finally ended up installing Toolkit 4.0, developer SDK 4.0 and VS2010 to be able to use nvidias NSight Debugger (which was my aim).

But i found it rather hard to get that working:
SDK 4.0 comes with no libraries (or at least not all)!! I was already used to change include dirs and additional libraries and custom build rules and so on… But when the compiler asked for shrutil32d and cutil32 and what else files it couldn’t find, i wasn’t even able to locate them on the HDD…
-> I figured out, that you have to compile them by yourself, that’s why i think my solution would work for you as well. Just make sure you set the paths with the platform variable, like “…/…/common/lib/$(PlatformName)”

Particulary i started those two projects as far as i remember (i was in a haze…) - there had been only the VS2008 Projects but as far as i remember these Files converted successfully (or i compiled them with vs2008) and i got the needed libs.
C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\C\common\cutil_vs2010.sln
C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\shared\shrUtils_vs2010.vcxproj

Regrettably i can’t remember anymore if i copied the VCProjectDefaults manually from the v90 or if they came with the sdk installer. But that was the least problem ;-) These steps won’t make the conversion possible, but then you could use the SKD4 samples and run them on vs2010…
(even though the nsight debugger still drives me nuts, but that’s because sdk4.0 is not supported by nsight 1.5.1 i guess)


I suspect you may just have to reboot, and then it’ll pick up the right paths.

The CUDA installer uses some environment variables that get set during boot up. But if you uninstall CUDA 3.2 and then install CUDA 4.0, the environment variable for CUDA 4.0 doesn’t get picked up until either a reboot, or if the user logs out and logs back in again.

It appears that the CUDA SDK 4.0 Installer may be removing the NvCudaRuntimeApi.rules and CUDA rules files located in the Visual Studio Directory. Someone at NVIDIA will be investigating in detail what exactly is happening during SDK installation. There is a copy of the the *.rules files installed in the CUDA toolkit directory. You can copy the *.rules files from:

C:\Program Files\NVIDIA Corporation\NVIDIA GPU Computing Toolkit\CUDA\r4.0\extras\visual_studio_integration\rules*.rules


${Your Visual Studio Location}\VC\VCProjectDefaults\

And that should enable you to build the SDK projects.