diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix index e44c21abe94..7a062a55215 100644 --- a/pkgs/development/compilers/cudatoolkit/default.nix +++ b/pkgs/development/compilers/cudatoolkit/default.nix @@ -149,8 +149,7 @@ let }; }; -in { - +in rec { cudatoolkit_6 = common { version = "6.0.37"; url = "http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run"; @@ -199,8 +198,8 @@ in { gcc = gcc6; }; - cudatoolkit_9 = common { - version = "9.1.85.1"; + cudatoolkit_9_1 = common { + version = "9.1.85.3"; url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.85_387.26_linux"; sha256 = "0lz9bwhck1ax4xf1fyb5nicb7l1kssslj518z64iirpy2qmwg5l4"; runPatches = [ @@ -208,9 +207,40 @@ in { url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/1/cuda_9.1.85.1_linux"; sha256 = "1f53ij5nb7g0vb5pcpaqvkaj1x4mfq3l0mhkfnqbk8sfrvby775g"; }) + (fetchurl { + url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/2/cuda_9.1.85.2_linux"; + sha256 = "16g0w09h3bqmas4hy1m0y6j5ffyharslw52fn25gql57bfihg7ym"; + }) + (fetchurl { + url = "https://developer.nvidia.com/compute/cuda/9.1/Prod/patches/3/cuda_9.1.85.3_linux"; + sha256 = "12mcv6f8z33z8y41ja8bv5p5iqhv2vx91mv3b5z6fcj7iqv98422"; + }) ]; gcc = gcc6; }; -} + cudatoolkit_9_2 = common { + version = "9.2.148.1"; + url = "https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers/cuda_9.2.148_396.37_linux"; + sha256 = "04c6v9b50l4awsf9w9zj5vnxvmc0hk0ypcfjksbh4vnzrz14wigm"; + runPatches = [ + (fetchurl { + url = "https://developer.nvidia.com/compute/cuda/9.2/Prod2/patches/1/cuda_9.2.148.1_linux"; + sha256 = "1kx6l4yzsamk6q1f4vllcpywhbfr2j5wfl4h5zx8v6dgfpsjm2lw"; + }) + ]; + gcc = gcc6; + }; + cudatoolkit_9 = cudatoolkit_9_2; + + cudatoolkit_10_0 = common { + version = "10.0.130"; + url = "https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux"; + sha256 = "16p3bv1lwmyqpxil8r951h385sy9asc578afrc7lssa68c71ydcj"; + + gcc = gcc6; + }; + + cudatoolkit_10 = cudatoolkit_10_0; +} diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix index c89e9e4296c..b41469c215e 100644 --- a/pkgs/development/libraries/science/math/cudnn/default.nix +++ b/pkgs/development/libraries/science/math/cudnn/default.nix @@ -1,13 +1,11 @@ -{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9 }: +{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0 }: let generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) { inherit (args) cudatoolkit; }; -in - -{ +in rec { cudnn_cudatoolkit_7 = generic rec { # Old URL is v4 instead of v4.0 for some reason... version = "4"; @@ -38,16 +36,34 @@ in }; cudnn_cudatoolkit_9_0 = generic rec { - version = "7.0.5"; + version = "7.3.0"; cudatoolkit = cudatoolkit_9_0; - srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.tgz"; - sha256 = "03mbv4m5lhwnc181xz8li067pjzzhxqbxgnrfc68dffm8xj0fghs"; + srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.3.0.29.tgz"; + sha256 = "16z4vgbcmbayk4hppz0xshgs3g07blkp4j25cxcjqyrczx1r0gs0"; }; - cudnn_cudatoolkit_9 = generic rec { - version = "7.0.5"; - cudatoolkit = cudatoolkit_9; - srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.tgz"; - sha256 = "1rfmdd2v47p83fm3sfyvik31gci0q17qs6kjng6mvcsd6akmvb8y"; + cudnn_cudatoolkit_9_1 = generic rec { + version = "7.1.3"; + cudatoolkit = cudatoolkit_9_1; + srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.1.tgz"; + sha256 = "0a0237gpr0p63s92njai0xvxmkbailzgfsvh7n9fnz0njhvnsqfx"; }; + + cudnn_cudatoolkit_9_2 = generic rec { + version = "7.2.1"; + cudatoolkit = cudatoolkit_9_2; + srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.2.1.38.tgz"; + sha256 = "1sf215wm6zgr17gs6sxfhw61b7a0qmcxiwhgy1b4nqdyxpqgay1y"; + }; + + cudnn_cudatoolkit_9 = cudnn_cudatoolkit_9_2; + + cudnn_cudatoolkit_10_0 = generic rec { + version = "7.3.1"; + cudatoolkit = cudatoolkit_10_0; + srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.3.1.20.tgz"; + sha256 = "1yp35mng4ym40g5rqp63dcpa6jg4q1pnjkspnhlakzzdy8is65af"; + }; + + cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_0; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9ceb1b7dc63..dba68f348d2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2062,8 +2062,12 @@ with pkgs; cudatoolkit_7 cudatoolkit_7_5 cudatoolkit_8 + cudatoolkit_9 cudatoolkit_9_0 - cudatoolkit_9; + cudatoolkit_9_1 + cudatoolkit_9_2 + cudatoolkit_10 + cudatoolkit_10_0; cudatoolkit = cudatoolkit_9; @@ -2073,7 +2077,11 @@ with pkgs; cudnn6_cudatoolkit_8 cudnn_cudatoolkit_8 cudnn_cudatoolkit_9 - cudnn_cudatoolkit_9_0; + cudnn_cudatoolkit_9_0 + cudnn_cudatoolkit_9_1 + cudnn_cudatoolkit_9_2 + cudnn_cudatoolkit_10 + cudnn_cudatoolkit_10_0; cudnn = cudnn_cudatoolkit_9; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eb69c554de8..cea6346d758 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2288,20 +2288,8 @@ in { grappelli_safe = callPackage ../development/python-modules/grappelli_safe { }; - pytorch = let - # Fails with CUDA 9.1 and GCC 6.4: - # https://github.com/pytorch/pytorch/issues/5831 - # https://devtalk.nvidia.com/default/topic/1028112 - # We should be able to remove this when CUDA 9.2 is released. - cudatoolkit_9 = pkgs.cudatoolkit_9.override { - gcc6 = pkgs.gcc5; - }; - in callPackage ../development/python-modules/pytorch { + pytorch = callPackage ../development/python-modules/pytorch { cudaSupport = pkgs.config.cudaSupport or false; - cudatoolkit = cudatoolkit_9; - cudnn = pkgs.cudnn_cudatoolkit_9.override { - inherit cudatoolkit_9; - }; }; pytorchWithCuda = self.pytorch.override {