What does CUDA compute capability indicate? How to identify device CUDA C version computability

cudagraphics-processing-unit

I am attempting to identify if my Nvidia GPU device is compatible with the latest version of CUDA. Searching the online documentation within CUDA Zone along with the Wikipedia page
I am able to identify what compute capability my device is but I am unsure what this means? and how it relates to the versions of the CUDA C my device is compatible with?

I am specifically curious if my compute capability 2.0 device is compatible with CUDA C 5.0?

Best Answer

The compute capability (CC) designates which GPU architecture generation the chip is based on. The number after the dot designates smaller changes within a generation. In general, newer generations have more features. There is a table in the CUDA C Programming Guide that shows the main features of each generation.

A given version of the CUDA SDK can target all CCs that existed when the SDK was released. In addition, all devices are backwards compatible -- they can run code target to their own CC and all older CCs.

So, with CUDA C 5.0, you can target CC 3.0 and all older CCs, including your CC 2.0 device. And your CC 2.0 device can run code targeted to CC 2.0 and all older CCs. When you compile your CUDA app, you chose which CCs to target.

You can check compute compatibility of your device using 'deviceQuery' sample in NVIDIA GPU Computing SDK.