Another silly question NVCC vs MSVS2006

Hi, i am as many others a newbie in the field of gpu programming.

I am using Microsoft Visual Studio 2006 for developing the source code for the host and the device, as it is exemplified by the projects in the NVIDIA SDK. After installing and building all the necessary solutions for creating ones own cuda program, i am only working with ms visual studio 2005 WITHOUT compling with the nvcc compiler.

So here is my first question: Is it possible to work without the NVCC compiler and using only the ms visual studio 2005, or is there a link between those compilers, so that the compiler used in studio invokes somehow the nvcc?

Second question: how are both compilers related to each other?



It’s necessary to compile CUDA-specific syntax like global, device, etc. with nvcc.

When you set up a proper CUDA project in a properly set up windows/CUDA/MSVS environment, files with the above syntax are generally named with a .cu extension, and those .cu files are compiled by nvcc, which also calls the host compiler (cl.exe) during compilation.