diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix index b3b7b305fba..3c08e9030ff 100644 --- a/pkgs/development/compilers/cudatoolkit/default.nix +++ b/pkgs/development/compilers/cudatoolkit/default.nix @@ -153,5 +153,12 @@ in rec { gcc = gcc9; }; - cudatoolkit_11 = cudatoolkit_11_1; + cudatoolkit_11_2 = common { + version = "11.2.1"; + url = "https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux.run"; + sha256 = "sha256-HamMuJfMX1inRFpKZspPaSaGdwbLOvWKZpzc2Nw9F8g="; + gcc = gcc9; + }; + + cudatoolkit_11 = cudatoolkit_11_2; } diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix index d99149c0e96..c9bf9a49e68 100644 --- a/pkgs/development/libraries/science/math/cudnn/default.nix +++ b/pkgs/development/libraries/science/math/cudnn/default.nix @@ -1,4 +1,4 @@ -{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0, cudatoolkit_10_1, cudatoolkit_10_2, cudatoolkit_11_0 }: +{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0, cudatoolkit_10_1, cudatoolkit_10_2, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2 }: let generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) { @@ -82,11 +82,21 @@ in rec { cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_2; cudnn_cudatoolkit_11_0 = generic rec { - version = "8.0.2"; + version = "8.1.0"; cudatoolkit = cudatoolkit_11_0; - srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v8.0.2.39.tgz"; - sha256 = "0ib3v3bgcdxarqapkxngw1nwl0c2a7zz392ns7w9ipcficl4cbv7"; + # 8.1.0 is compatible with CUDA 11.0, 11.1, and 11.2: + # https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions + srcName = "cudnn-11.2-linux-x64-v8.1.0.77.tgz"; + sha256 = "sha256-2+gvrwcdkbqbzwBIAUatM/RiSC3+5WyvRHnBuNq+Pss="; }; - cudnn_cudatoolkit_11 = cudnn_cudatoolkit_11_0; + cudnn_cudatoolkit_11_1 = cudnn_cudatoolkit_11_0.override { + cudatoolkit = cudatoolkit_11_1; + }; + + cudnn_cudatoolkit_11_2 = cudnn_cudatoolkit_11_0.override { + cudatoolkit = cudatoolkit_11_2; + }; + + cudnn_cudatoolkit_11 = cudnn_cudatoolkit_11_2; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d6dd4b14f9a..15f73c04f4b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3408,7 +3408,9 @@ in cudatoolkit_10_1 cudatoolkit_10_2 cudatoolkit_11 - cudatoolkit_11_0; + cudatoolkit_11_0 + cudatoolkit_11_1 + cudatoolkit_11_2; cudatoolkit = cudatoolkit_10; @@ -3427,7 +3429,9 @@ in cudnn_cudatoolkit_10_1 cudnn_cudatoolkit_10_2 cudnn_cudatoolkit_11 - cudnn_cudatoolkit_11_0; + cudnn_cudatoolkit_11_0 + cudnn_cudatoolkit_11_1 + cudnn_cudatoolkit_11_2; cudnn = cudnn_cudatoolkit_10;