summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorAndreas Rammhold <andreas@rammhold.de>2019-11-06 08:58:30 +0100
committerGitHub <noreply@github.com>2019-11-06 08:58:30 +0100
commit1e72fa51580dcac77549ffd9e499db6aa74d3286 (patch)
tree434512691598033e18939a97ee0e70cba0ac601e /pkgs
parentec6579437c7ee95591c22738635e075e316754b0 (diff)
parent78aff37ff1132c80b4db5e9551ff4404889cf0f4 (diff)
downloadnixpkgs-1e72fa51580dcac77549ffd9e499db6aa74d3286.tar
nixpkgs-1e72fa51580dcac77549ffd9e499db6aa74d3286.tar.gz
nixpkgs-1e72fa51580dcac77549ffd9e499db6aa74d3286.tar.bz2
nixpkgs-1e72fa51580dcac77549ffd9e499db6aa74d3286.tar.lz
nixpkgs-1e72fa51580dcac77549ffd9e499db6aa74d3286.tar.xz
nixpkgs-1e72fa51580dcac77549ffd9e499db6aa74d3286.tar.zst
nixpkgs-1e72fa51580dcac77549ffd9e499db6aa74d3286.zip
Merge pull request #68954 from dguibert/dg/cudatoolkit_10_1
cudatoolkit: add 10.1.243
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/compilers/cudatoolkit/default.nix48
-rw-r--r--pkgs/development/libraries/science/math/cudnn/default.nix11
-rw-r--r--pkgs/top-level/all-packages.nix10
3 files changed, 50 insertions, 19 deletions
diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix
index 0a7b74b465f..98c0381216a 100644
--- a/pkgs/development/compilers/cudatoolkit/default.nix
+++ b/pkgs/development/compilers/cudatoolkit/default.nix
@@ -53,22 +53,25 @@ let
       unpackPhase = ''
         sh $src --keep --noexec
 
-        cd pkg/run_files
-        sh cuda-linux*.run --keep --noexec
-        sh cuda-samples*.run --keep --noexec
-        mv pkg ../../$(basename $src)
-        cd ../..
-        rm -rf pkg
-
-        for patch in $runPatches; do
-          sh $patch --keep --noexec
-          mv pkg $(basename $patch)
-        done
+        ${lib.optionalString (lib.versionOlder version "10.1") ''
+          cd pkg/run_files
+          sh cuda-linux*.run --keep --noexec
+          sh cuda-samples*.run --keep --noexec
+          mv pkg ../../$(basename $src)
+          cd ../..
+          rm -rf pkg
+
+          for patch in $runPatches; do
+            sh $patch --keep --noexec
+            mv pkg $(basename $patch)
+          done
+        ''}
       '';
 
       installPhase = ''
         runHook preInstall
         mkdir $out
+        ${lib.optionalString (lib.versionOlder version "10.1") ''
         cd $(basename $src)
         export PERL5LIB=.
         perl ./install-linux.pl --prefix="$out"
@@ -78,14 +81,22 @@ let
           perl ./install_patch.pl --silent --accept-eula --installdir="$out"
           cd ..
         done
+        ''}
+        ${lib.optionalString (lib.versionAtLeast version "10.1") ''
+          cd pkg/builds/cuda-toolkit
+          mv * $out/
+        ''}
 
         rm $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
 
+        ${lib.optionalString (lib.versionOlder version "10.1") ''
         # let's remove the 32-bit libraries, they confuse the lib64->lib mover
         rm -rf $out/lib
+        ''}
 
         # Remove some cruft.
-        ${lib.optionalString (lib.versionAtLeast version "7.0") "rm $out/bin/uninstall*"}
+        ${lib.optionalString ((lib.versionAtLeast version "7.0") && (lib.versionOlder version "10.1"))
+          "rm $out/bin/uninstall*"}
 
         # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
         if [ -d "$out"/cuda-samples ]; then
@@ -109,6 +120,9 @@ let
 
         # Remove OpenCL libraries as they are provided by ocl-icd and driver.
         rm -f $out/lib64/libOpenCL*
+        ${lib.optionalString (lib.versionAtLeast version "10.1") ''
+          mv $out/lib64 $out/lib
+        ''}
 
         # Set compiler for NVCC.
         wrapProgram $out/bin/nvcc \
@@ -302,5 +316,13 @@ in rec {
     gcc = gcc7;
   };
 
-  cudatoolkit_10 = cudatoolkit_10_0;
+  cudatoolkit_10_1 = common {
+    version = "10.1.243";
+    url = "https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run";
+    sha256 = "0caxhlv2bdq863dfp6wj7nad66ml81vasq2ayf11psvq2b12vhp7";
+
+    gcc = gcc7;
+  };
+
+  cudatoolkit_10 = cudatoolkit_10_1;
 }
diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix
index a33e3ec2009..8cd74939959 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 }:
+{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0, cudatoolkit_10_1 }:
 
 let
   generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) {
@@ -65,5 +65,12 @@ in rec {
     sha256 = "18ys0apiz9afid2s6lvy9qbyi8g66aimb2a7ikl1f3dm09mciprf";
   };
 
-  cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_0;
+  cudnn_cudatoolkit_10_1 = generic rec {
+    version = "7.6.3";
+    cudatoolkit = cudatoolkit_10_1;
+    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.6.3.30.tgz";
+    sha256 = "0qc9f1xpyfibwqrpqxxq2v9h6w90j0dbx564akwy44c1dls5f99m";
+  };
+
+  cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_1;
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e56298b2ebd..e0a6b21a162 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2556,9 +2556,10 @@ in
     cudatoolkit_9_1
     cudatoolkit_9_2
     cudatoolkit_10
-    cudatoolkit_10_0;
+    cudatoolkit_10_0
+    cudatoolkit_10_1;
 
-  cudatoolkit = cudatoolkit_9;
+  cudatoolkit = cudatoolkit_10;
 
   inherit (callPackages ../development/libraries/science/math/cudnn { })
     cudnn_cudatoolkit_7
@@ -2570,9 +2571,10 @@ in
     cudnn_cudatoolkit_9_1
     cudnn_cudatoolkit_9_2
     cudnn_cudatoolkit_10
-    cudnn_cudatoolkit_10_0;
+    cudnn_cudatoolkit_10_0
+    cudnn_cudatoolkit_10_1;
 
-  cudnn = cudnn_cudatoolkit_9;
+  cudnn = cudnn_cudatoolkit_10;
 
   curlFull = curl.override {
     idnSupport = true;