Which Version to Target

When in doubt about the compute capability of the hardware that will be present at runtime, it is best to assume a compute capability of 1.0 as defined in the CUDA C Programming Guide, Section F.1.

To target specific versions of NVIDIA hardware and CUDA software, use the -arch, -code, and -gencode options of nvcc. Code that contains double-precision arithmetic, for example, must be compiled with “‑arch=sm_13” (or higher compute capability), otherwise double-precision arithmetic will get demoted to single-precision arithmetic (see Single vs. Double Precision). This and other compiler switches are discussed further in NVCC Compiler Switches.