diff options
Diffstat (limited to 'pkgs/development/libraries/science/math')
-rw-r--r-- | pkgs/development/libraries/science/math/cudnn/default.nix | 40 | ||||
-rw-r--r-- | pkgs/development/libraries/science/math/scalapack/default.nix | 42 |
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 ]; }; |