c++cudacompute-capability

CUDA Compute Capability Backwards Compatibility


I am currently working with CUDA code compiled for compute capability 5.2. My machine happens to have a compute capability 5.2 GPU (GeForce GTX 970). However, my question is: will the code compiled for compute capability 5.2 still run on a machine with a compute capability as low as 3? (Assuming that the code never violates the limitations of the lower compute capability like shared memory differences, etc.)


Solution

  • The one word answer is no.

    As a general rule, you can run code compiled for lower compute capabilities on higher compute capability hardware, but not the other way around. If you compile for compute 5.2, it should run on future hardware, but not on older hardware.