I am using Vista 64-bit. I have downloaded and installed all the CUDA stuff (SDK, Toolkit, Drivers – all installers had ‘win_64’ in the filename). I am trying to build at the command line, and here’s what I get:
64-bit version of “cl.exe”
Run command: nvcc --compiler-bindir “C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin<b>amd64”
-c -D_DEBUG -DWIN64 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/MTd
-I “C:\Users\shep\AppData\local\NVIDIA Corporation\NVIDIA CUDA SDK\common\inc” -I./ -o BlackScholes.exe BlackScholes.cu
nvcc output: nvcc fatal : nvcc cannot find a supported cl version. Only MSVC 8.0 and MSVC 9.0 are supported
32-bit version of “cl.exe”
Run command: nvcc --compiler-bindir “C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin”
-c -D_DEBUG -DWIN64 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/MTd -I
“C:\Users\shep\AppData\local\NVIDIA Corporation\NVIDIA CUDA SDK\common\inc” -I./ -o BlackScholes.exe BlackScholes.cu
nvcc output: nvcc fatal : Visual Studio configuration file ‘(null)’ could not be found for
installation at ‘C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/bin/…/…’
Note the differences in the error message output from nvcc. 64-bits reports that “cl.exe” is not a supported compiler. 32-bits that the compiler is OK, but the configuration file isn’t there.
It seems that nvcc has all sorts of stuff ‘hard wired’ into it. Isn’t there some way to simply specify the compiler to nvcc and force it to use it? nvcc does it’s thing, and then passes the resulting files to whatever compiler you have chosen? I’m guessing the 64-bit cl.exe from Visual Studio Express, or the cl.exe from the 64-bit Windows SDK (a free download), would work … if only they were allowed to by nvcc.