From 4cfeb9da53cc667f1463aab5da173f2a06e6d244 Mon Sep 17 00:00:00 2001 From: Patrick Hilhorst Date: Tue, 30 Oct 2018 19:02:36 +0100 Subject: [PATCH 1/2] cudatoolkit, cudnn: many updates cudatoolkit_9_1: 9.1.85.1 -> 9.1.85.3 cudatoolkit_9_2: init at 9.2.148.1 cudatoolkit_9: 9.1.85.1 -> 9.2.148.1 cudatoolkit_10, cudatoolkit_10_0: init at 10.0.130 cudnn_cudatoolkit_9_0: 7.0.5 -> 7.3.0 cudnn_cudatoolkit_9_1: init at 7.1.3 cudnn_cudatoolkit_9_2: init at 7.2.1 cudnn_cudatoolkit_9: 7.0.5 (9.1) -> 7.3.1 (9.2) cudnn_cudatoolkit_10, cudnn_cudatoolkit_10_0: init at 7.3.1 --- .../compilers/cudatoolkit/default.nix | 40 ++++++++++++++++--- .../libraries/science/math/cudnn/default.nix | 40 +++++++++++++------ pkgs/top-level/all-packages.nix | 12 +++++- 3 files changed, 73 insertions(+), 19 deletions(-) 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 f98bf64fdf7..ccb910a7c97 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2058,8 +2058,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; @@ -2069,7 +2073,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; From 43f6d9ada488ea66d588756c182ff3a212cf42e0 Mon Sep 17 00:00:00 2001 From: Patrick Hilhorst Date: Wed, 31 Oct 2018 10:43:00 +0100 Subject: [PATCH 2/2] pytorch: remove pre-cuda92 hack --- pkgs/top-level/python-packages.nix | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b2cff4940c1..eefc7baa448 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2282,20 +2282,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 {