If you’ve ever tried to compile CUDA code with nvcc or clang and seen an error like:
Feature 'labels1 - labels2 expression in .section' requires PTX ISA .version 7.5 or later
you might wonder which version of the NVPTX instruction set architecture your version of CUDA supports. Although there doesn’t seem to be a way to query this directly, the CUDA Toolkit Documentation for each version of CUDA describes which version of PTX ISA it supports. Each version of CUDA corresponds to a different version of PTX ISA:
CUDA Version | PTX ISA Version |
12.0 | 8.0 |
11.8 | 7.8 |
11.7 | 7.7 |
11.6 | 7.6 |
11.5 | 7.5 |
11.4 | 7.4 |
11.3 | 7.3 |
11.2 | 7.2 |
11.1 | 7.1 |
11.0 | 7.0 |
10.2 | 6.5 |
10.1 | 6.4 |
10.0 | 6.3 |
9.2 | 6.2 |
9.1 | 6.1 |
9.0 | 6.0 |
8.0 | 5.0 |
Each PTX file starts with a .version
directive to indicate which version of PTX should be used by the PTX compiler.
If you want to know what version of the Nvidia CUDA driver is required for your version of the CUDA toolkit, see: CUDA Toolkit Major Component Versions
See also these useful pages from Arnon Shimoni:
Matching CUDA arch and CUDA gencode for various NVIDIA architectures