summary refs log tree commit diff
path: root/pkgs/development/libraries/science/math
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/science/math')
-rw-r--r--pkgs/development/libraries/science/math/cudnn/default.nix40
-rw-r--r--pkgs/development/libraries/science/math/scalapack/default.nix42
2 files changed, 60 insertions, 22 deletions
diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix
index c89e9e4296cf..b41469c215e2 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/development/libraries/science/math/scalapack/default.nix b/pkgs/development/libraries/science/math/scalapack/default.nix
index 83e177c66c18..3961374a9b11 100644
--- a/pkgs/development/libraries/science/math/scalapack/default.nix
+++ b/pkgs/development/libraries/science/math/scalapack/default.nix
@@ -1,11 +1,7 @@
-{ stdenv
-, fetchurl
-, gfortran
-, cmake
-, blas
-, liblapack
-, mpi
-}:
+{ stdenv, fetchurl, cmake, openssh
+, gfortran, mpi, openblasCompat
+} :
+
 
 stdenv.mkDerivation rec {
   name = "scalapack-${version}";
@@ -16,12 +12,38 @@ stdenv.mkDerivation rec {
     sha256 = "0p1r61ss1fq0bs8ynnx7xq4wwsdvs32ljvwjnx6yxr8gd6pawx0c";
   };
 
-  buildInputs = [ cmake mpi liblapack blas gfortran ];
+  nativeBuildInputs = [ cmake openssh ];
+  buildInputs = [ mpi gfortran openblasCompat ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  preConfigure = ''
+    cmakeFlagsArray+=(
+      -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
+      -DLAPACK_LIBRARIES="-lopenblas"
+      -DBLAS_LIBRARIES="-lopenblas"
+      )
+  '';
+
+  checkPhase = ''
+    # make sure the test starts even if we have less than 4 cores
+    export OMPI_MCA_rmaps_base_oversubscribe=1
+
+    # Run single threaded
+    export OMP_NUM_THREADS=1
+
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/lib
+    export CTEST_OUTPUT_ON_FAILURE=1
+
+    make test
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://www.netlib.org/scalapack/;
     description = "Library of high-performance linear algebra routines for parallel distributed memory machines";
-    license = licenses.bsdOriginal;
+    license = licenses.bsd3;
     platforms = platforms.all;
     maintainers = [ maintainers.costrouc ];
   };