Does NVCC rely on presence of graphics card?

Suppose, hypothetically, that I want to test compile, but not run, CUDA code on a machine that has no CUDA capable GPU present. Should I be able to do that with only the CUDA Toolkit installed? Or does NVCC rely on the presence of graphics card hardware in any way?

You should be able to compile without a card installed. However, depending on your platform, you might not be able to install the CUDA Toolkit altogether because the toolkit itself looks for a GPU card (at least in Windows, the latest 5.5 version does)

As far as I know to install a CUDA Toolkit You need to have a proper driver installed, thus with no CUDA-capable GPU onboard, what You described will not work.


It is possible to install NVCC without a GPU, at least on Linux (didn’t try on Windows). Just install the CUDA toolkit. NVCC is just another program, so there shouldn’t be any dependency on a driver.

Thanks for the responses. For now, I can confirm that it is possible to install Toolkit version 5.0 under Windows 7. Or at least, the installer didn’t complain.

A followup question if I may.
Does the presence of a CUDA compatible card make any difference to nvcc itself?
I have assumed it does not.
But does, for example, the presence of a Kepler card, change the nvcc defaults?
Eg to make it generate kepler code (in place of sm_10).

Many thanks

What will be generated You decide by passing proper NVCC arguments, like arch"=compute_20",code"=sm_21" for instance. I don’t think the fact that one have Kepler or Fermi card on board concern NVCC other then this. As far as I know You can even compile code for Kepler while having Fermi card in You machine.


Tried it:

 cuda-drivers-450 : Depends: nvidia-settings (>= 450.36.06) but it is not installable``` 
ow did you install it, and from where?