When compiling your CUDA code, you have to select for which architecture your code is being generated. nvcc provides two parameters to specify this architecture, basically:
arch specifies the virtual arquictecture, which can be compute_10, compute_11, etc.
code specifies the real architecture, which can be sm_10, sm_11, etc.
So a command like this:
nvcc x.cu -arch=compute_13 -code=sm_13
Will generate 'cubin' code for devices with 1.3 compute capability. Please correct me if I'm wrong. Which I would like to know is which are the default values for these two parameters? Which is the default architecture that nvcc uses when no value for arch or code is specified?