Merge pull request #194705 from dguibert/dg/cudatoolkit_11_8_0

cudatoolkit: introduce 11.8.0
This commit is contained in:
Samuel Ainsworth 2022-10-20 14:19:17 -07:00 committed by GitHub
commit 2fe76091c6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 1133 additions and 14 deletions

File diff suppressed because it is too large Load diff

View file

@ -65,3 +65,9 @@ version = "11.7.0"
url = "https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run"
sha256 = "sha256-CH/fy7ofeVQ7H3jkOo39rF9tskLQQt3oIOFtwYWJLyY="
gcc = "gcc11"
["11.8"]
version = "11.8.0"
url = "https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run"
sha256 = "sha256-kiPErzrr5Ke77Zq9mxY7A6GzS4VfvCtKDRtwasCaWhY="
gcc = "gcc11"

View file

@ -2,6 +2,7 @@ final: prev: let
inherit (final) callPackage;
inherit (prev) cudatoolkit cudaVersion lib pkgs;
inherit (prev.lib.versions) major;
### CuDNN
@ -27,7 +28,9 @@ final: prev: let
# Add all supported builds as attributes
allBuilds = mapAttrs' (version: file: nameValuePair (computeName version) (buildCuDnnPackage (removeAttrs file ["fileVersion"]))) supportedVersions;
# Set the default attributes, e.g. cudnn = cudnn_8_3_1;
defaultBuild = { "cudnn" = allBuilds.${computeName cuDnnDefaultVersion}; };
defaultBuild = { "cudnn" = if allBuilds ? ${computeName cuDnnDefaultVersion}
then allBuilds.${computeName cuDnnDefaultVersion}
else throw "cudnn-${cuDnnDefaultVersion} does not support your cuda version ${cudaVersion}"; };
in allBuilds // defaultBuild;
cuDnnVersions = let
@ -113,21 +116,54 @@ final: prev: let
supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" "11.7" ];
}
];
"8.5.0" = [
rec {
fileVersion = "10.2";
fullVersion = "8.5.0.96";
hash = "sha256-1mzhbbzR40WKkHnQLtJHhg0vYgf7G8a0OBcCwIOkJjM=";
url = "${urlPrefix}/v${majorMinorPatch fullVersion}/local_installers/${fileVersion}/cudnn-linux-x86_64-${fullVersion}_cuda${major fileVersion}-archive.tar.xz";
supportedCudaVersions = [ "10.2" ];
}
rec {
fileVersion = "11.7";
fullVersion = "8.5.0.96";
hash = "sha256-VFSm/ZTwCHKMqumtrZk8ToXvNjAuJrzkO+p9RYpee20=";
url = "${urlPrefix}/v${majorMinorPatch fullVersion}/local_installers/${fileVersion}/cudnn-linux-x86_64-${fullVersion}_cuda${major fileVersion}-archive.tar.xz";
supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" "11.7" ];
}
];
"8.6.0" = [
rec {
fileVersion = "10.2";
fullVersion = "8.6.0.163";
hash = "sha256-t4sr/GrFqqdxu2VhaJQk5K1Xm/0lU4chXG8hVL09R9k=";
url = "${urlPrefix}/v${majorMinorPatch fullVersion}/local_installers/${fileVersion}/cudnn-linux-x86_64-${fullVersion}_cuda${major fileVersion}-archive.tar.xz";
supportedCudaVersions = [ "10.2" ];
}
rec {
fileVersion = "11.7";
fullVersion = "8.6.0.163";
hash = "sha256-u8OW30cpTGV+3AnGAGdNYIyxv8gLgtz0VHBgwhcRFZ4=";
url = "${urlPrefix}/v${majorMinorPatch fullVersion}/local_installers/${fileVersion}/cudnn-linux-x86_64-${fullVersion}_cuda${major fileVersion}-archive.tar.xz";
supportedCudaVersions = [ "11.0" "11.1" "11.2" "11.3" "11.4" "11.5" "11.6" "11.7" "11.8" ];
}
];
};
# Default attributes
cuDnnDefaultVersion = {
"10.0" = "7.4.2";
"10.1" = "7.6.5";
"10.2" = "8.3.2";
"11.0" = "8.3.2";
"11.1" = "8.3.2";
"11.2" = "8.3.2";
"11.3" = "8.3.2";
"11.4" = "8.3.2";
"11.5" = "8.3.2";
"11.6" = "8.3.2";
"11.7" = "8.4.0";
}.${cudaVersion} or "8.3.2";
"10.2" = "8.6.0";
"11.0" = "8.6.0";
"11.1" = "8.6.0";
"11.2" = "8.6.0";
"11.3" = "8.6.0";
"11.4" = "8.6.0";
"11.5" = "8.6.0";
"11.6" = "8.6.0";
"11.7" = "8.6.0";
"11.8" = "8.6.0";
}.${cudaVersion} or "8.6.0";
in cuDnnPackages

View file

@ -24,7 +24,9 @@ final: prev: let
# Add all supported builds as attributes
allBuilds = mapAttrs' (version: file: nameValuePair (computeName version) (buildTensorRTPackage (removeAttrs file ["fileVersionCuda"]))) supportedVersions;
# Set the default attributes, e.g. tensorrt = tensorrt_8_4;
defaultBuild = { "tensorrt" = allBuilds.${computeName tensorRTDefaultVersion}; };
defaultBuild = { "tensorrt" = if allBuilds ? ${computeName tensorRTDefaultVersion}
then allBuilds.${computeName tensorRTDefaultVersion}
else throw "tensorrt-${tensorRTDefaultVersion} does not support your cuda version ${cudaVersion}"; };
in allBuilds // defaultBuild;
tensorRTVersions = {

View file

@ -11,9 +11,9 @@ final: prev: let
"11.4" = "082dkk5y34wyvjgj2p5j1d00rk8xaxb9z0mhvz16bd469r1bw2qk";
"11.5" = "sha256-AKRZbke0K59lakhTi8dX2cR2aBuWPZkiQxyKaZTvHrI=";
"11.6" = "sha256-AsLNmAplfuQbXg9zt09tXAuFJ524EtTYsQuUlV1tPkE=";
# the tag 11.7 does not exists: see https://github.com/NVIDIA/cuda-samples/issues/128
# maybe fixed by https://github.com/NVIDIA/cuda-samples/pull/133
"11.7" = throw "The tag 11.7 of cuda-samples does not exists (see see https://github.com/NVIDIA/cuda-samples/issues/128)";
"11.7" = throw "The tag 11.7 of cuda-samples does not exist";
"11.8" = throw "The tag 11.8 of cuda-samples does not exist";
}.${prev.cudaVersion};
in {

View file

@ -5609,6 +5609,7 @@ with pkgs;
cudaPackages_11_5 = callPackage ./cuda-packages.nix { cudaVersion = "11.5"; };
cudaPackages_11_6 = callPackage ./cuda-packages.nix { cudaVersion = "11.6"; };
cudaPackages_11_7 = callPackage ./cuda-packages.nix { cudaVersion = "11.7"; };
cudaPackages_11_8 = callPackage ./cuda-packages.nix { cudaVersion = "11.8"; };
cudaPackages_11 = cudaPackages_11_7;
cudaPackages = recurseIntoAttrs cudaPackages_11;