summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2017-09-17 06:43:41 +0300
committerNikolay Amiantov <ab@fmap.me>2017-10-19 12:47:30 +0300
commitfe7c7a852d9e22bb96cfa53caf357a2a42d98191 (patch)
tree2010a8303fb25186f0b278d4a544ef3f58efb320 /pkgs
parent0bc4216bf0d7e451ecec5f2c5bcad0cba80930b8 (diff)
downloadnixlib-fe7c7a852d9e22bb96cfa53caf357a2a42d98191.tar
nixlib-fe7c7a852d9e22bb96cfa53caf357a2a42d98191.tar.gz
nixlib-fe7c7a852d9e22bb96cfa53caf357a2a42d98191.tar.bz2
nixlib-fe7c7a852d9e22bb96cfa53caf357a2a42d98191.tar.lz
nixlib-fe7c7a852d9e22bb96cfa53caf357a2a42d98191.tar.xz
nixlib-fe7c7a852d9e22bb96cfa53caf357a2a42d98191.tar.zst
nixlib-fe7c7a852d9e22bb96cfa53caf357a2a42d98191.zip
cudatoolkit9: init at 9.0.176
Make CUDA Toolkit 9 the default choice.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/compilers/cudatoolkit/default.nix49
-rw-r--r--pkgs/top-level/all-packages.nix5
2 files changed, 37 insertions, 17 deletions
diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix
index f6e52a59fe59..5cdd5a1a146e 100644
--- a/pkgs/development/compilers/cudatoolkit/default.nix
+++ b/pkgs/development/compilers/cudatoolkit/default.nix
@@ -1,26 +1,39 @@
-{ lib, stdenv, fetchurl, patchelf, perl, ncurses, expat, python27, zlib
+{ lib, stdenv, fetchurl, requireFile, patchelf, perl, ncurses, expat, python27, zlib
 , xorg, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib, glibc
 }:
 
 let
 
   common =
-    { version, url, sha256
+    args@{ version, sha256
+    , url ? ""
+    , name ? ""
+    , developerProgram ? false
     , python ? python27
     }:
 
     stdenv.mkDerivation rec {
       name = "cudatoolkit-${version}";
+      inherit (args) version;
 
       dontPatchELF = true;
       dontStrip = true;
 
       src =
-        if stdenv.system == "x86_64-linux" then
-          fetchurl {
-            inherit url sha256;
+        if developerProgram then
+          requireFile {
+            message = ''
+              This nix expression requires that ${args.name} is already part of the store.
+              Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the CUDA toolkit
+              at https://developer.nvidia.com/cuda-toolkit, and run the following command in the download directory:
+              nix-prefetch-url file://${args.name}
+            '';
+            inherit (args) name sha256;
           }
-        else throw "cudatoolkit does not support platform ${stdenv.system}";
+        else
+          fetchurl {
+            inherit (args) url sha256;
+          };
 
       outputs = [ "out" "lib" "doc" ];
 
@@ -37,8 +50,8 @@ let
       unpackPhase = ''
         sh $src --keep --noexec
         cd pkg/run_files
-        sh cuda-linux64-rel-${version}-*.run --keep --noexec
-        sh cuda-samples-linux-${version}-*.run --keep --noexec
+        sh cuda-linux*.run --keep --noexec
+        sh cuda-samples*.run --keep --noexec
         cd pkg
       '';
 
@@ -99,8 +112,8 @@ let
 
       meta = with stdenv.lib; {
         description = "A compiler for NVIDIA GPUs, math libraries, and tools";
-        homepage = https://developer.nvidia.com/cuda-toolkit;
-        platforms = platforms.linux;
+        homepage = "https://developer.nvidia.com/cuda-toolkit";
+        platforms = [ "x86_64-linux" ];
         license = licenses.unfree;
       };
     };
@@ -109,33 +122,39 @@ in {
 
   cudatoolkit6 = common {
     version = "6.0.37";
-    url = http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run;
+    url = "http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run";
     sha256 = "991e436c7a6c94ec67cf44204d136adfef87baa3ded270544fa211179779bc40";
   };
 
   cudatoolkit65 = common {
     version = "6.5.19";
-    url = http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.19_linux_64.run;
+    url = "http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.19_linux_64.run";
     sha256 = "1x9zdmk8z784d3d35vr2ak1l4h5v4jfjhpxfi9fl9dvjkcavqyaj";
   };
 
   cudatoolkit7 = common {
     version = "7.0.28";
-    url = http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run;
+    url = "http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run";
     sha256 = "1km5hpiimx11jcazg0h3mjzk220klwahs2vfqhjavpds5ff2wafi";
   };
 
   cudatoolkit75 = common {
     version = "7.5.18";
-    url = http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run;
+    url = "http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run";
     sha256 = "1v2ylzp34ijyhcxyh5p6i0cwawwbbdhni2l5l4qm21s1cx9ish88";
   };
 
   cudatoolkit8 = common {
     version = "8.0.61";
-    url = https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run;
+    url = "https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run";
     sha256 = "1i4xrsqbad283qffvysn88w2pmxzxbbby41lw0j1113z771akv4w";
   };
 
+  cudatoolkit9 = common {
+    version = "9.0.176";
+    url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run";
+    sha256 = "0308rmmychxfa4inb1ird9bpgfppgr9yrfg1qp0val5azqik91ln";
+  };
+
 }
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c2e3cad5a0be..c0501cc061db 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1577,9 +1577,10 @@ with pkgs;
     cudatoolkit65
     cudatoolkit7
     cudatoolkit75
-    cudatoolkit8;
+    cudatoolkit8
+    cudatoolkit9;
 
-  cudatoolkit = cudatoolkit8;
+  cudatoolkit = cudatoolkit9;
 
   cudnn = callPackage ../development/libraries/science/math/cudnn/default.nix {};