71 lines
2.1 KiB
Nix
71 lines
2.1 KiB
Nix
|
|
{
|
||
|
|
/**
|
||
|
|
Mapping of CUDA versions to NVCC compatibilities
|
||
|
|
|
||
|
|
Taken from
|
||
|
|
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#host-compiler-support-policy
|
||
|
|
|
||
|
|
NVCC performs a version check on the host compiler's major version and so newer minor versions
|
||
|
|
of the compilers listed below will be supported, but major versions falling outside the range
|
||
|
|
will not be supported.
|
||
|
|
|
||
|
|
NOTE: These constraints don't apply to Jetson, which uses something else.
|
||
|
|
|
||
|
|
NOTE: NVIDIA can and will add support for newer compilers even during patch releases.
|
||
|
|
E.g.: CUDA 12.2.1 maxxed out with support for Clang 15.0; 12.2.2 added support for Clang 16.0.
|
||
|
|
|
||
|
|
NOTE: Because all platforms NVIDIA supports use GCC and Clang, we omit the architectures here.
|
||
|
|
|
||
|
|
# Type
|
||
|
|
|
||
|
|
```
|
||
|
|
nvccCompatibilities ::
|
||
|
|
AttrSet
|
||
|
|
String
|
||
|
|
{ clang :: { maxMajorVersion :: String, minMajorVersion :: String }
|
||
|
|
, gcc :: { maxMajorVersion :: String, minMajorVersion :: String }
|
||
|
|
}
|
||
|
|
```
|
||
|
|
*/
|
||
|
|
nvccCompatibilities = {
|
||
|
|
# Our baseline
|
||
|
|
# https://docs.nvidia.com/cuda/archive/12.6.0/cuda-installation-guide-linux/index.html#host-compiler-support-policy
|
||
|
|
"12.6" = {
|
||
|
|
clang = {
|
||
|
|
maxMajorVersion = "18";
|
||
|
|
minMajorVersion = "7";
|
||
|
|
};
|
||
|
|
gcc = {
|
||
|
|
maxMajorVersion = "13";
|
||
|
|
minMajorVersion = "6";
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
# Maximum Clang version is 19, maximum GCC version is 14
|
||
|
|
# https://docs.nvidia.com/cuda/archive/12.8.1/cuda-installation-guide-linux/index.html#host-compiler-support-policy
|
||
|
|
"12.8" = {
|
||
|
|
clang = {
|
||
|
|
maxMajorVersion = "19";
|
||
|
|
minMajorVersion = "7";
|
||
|
|
};
|
||
|
|
gcc = {
|
||
|
|
maxMajorVersion = "14";
|
||
|
|
minMajorVersion = "6";
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
# No changes from 12.8 to 12.9
|
||
|
|
# https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#host-compiler-support-policy
|
||
|
|
"12.9" = {
|
||
|
|
clang = {
|
||
|
|
maxMajorVersion = "19";
|
||
|
|
minMajorVersion = "7";
|
||
|
|
};
|
||
|
|
gcc = {
|
||
|
|
maxMajorVersion = "14";
|
||
|
|
minMajorVersion = "6";
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
}
|