about summary refs log tree commit diff
path: root/pkgs/development/libraries/science/math
diff options
context:
space:
mode:
authorMatthew Daiter <matthew@nomoko.camera>2017-04-04 17:23:20 +0200
committerMatthew Daiter <matthew@nomoko.camera>2017-04-04 17:23:20 +0200
commitd712c04d25bd3018e87b743e4d0ea99c097e04b3 (patch)
tree04b6e0391da5130e3276c362d95df44ad0e1a610 /pkgs/development/libraries/science/math
parent079ee6425ca9e7f93443103547af5f6228dabb71 (diff)
downloadnixlib-d712c04d25bd3018e87b743e4d0ea99c097e04b3.tar
nixlib-d712c04d25bd3018e87b743e4d0ea99c097e04b3.tar.gz
nixlib-d712c04d25bd3018e87b743e4d0ea99c097e04b3.tar.bz2
nixlib-d712c04d25bd3018e87b743e4d0ea99c097e04b3.tar.lz
nixlib-d712c04d25bd3018e87b743e4d0ea99c097e04b3.tar.xz
nixlib-d712c04d25bd3018e87b743e4d0ea99c097e04b3.tar.zst
nixlib-d712c04d25bd3018e87b743e4d0ea99c097e04b3.zip
suitesparse: refining CUDA support
Diffstat (limited to 'pkgs/development/libraries/science/math')
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/default.nix8
1 files changed, 4 insertions, 4 deletions
diff --git a/pkgs/development/libraries/science/math/suitesparse/default.nix b/pkgs/development/libraries/science/math/suitesparse/default.nix
index 10fc7bf10ac7..7712a2890f1b 100644
--- a/pkgs/development/libraries/science/math/suitesparse/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse/default.nix
@@ -40,9 +40,9 @@ stdenv.mkDerivation {
         -e 's|^[[:space:]]*\(CUDART_LIB    =\)|CUDART_LIB = $(CUDA_ROOT)/lib64/libcudart.so|' \
         -e 's|^[[:space:]]*\(CUBLAS_LIB    =\)|CUBLAS_LIB = $(CUDA_ROOT)/lib64/libcublas.so|' \
         -e 's|^[[:space:]]*\(CUDA_INC_PATH =\)|CUDA_INC_PATH = $(CUDA_ROOT)/include/|' \
-        -e 's|^[[:space:]]*\(NV_20         =\)|NV_20 = -arch=sm_20 -Xcompiler -fPIC|' \
-        -e 's|^[[:space:]]*\(NV_30         =\)|NV_30 = -arch=sm_30 -Xcompiler -fPIC|' \
-        -e 's|^[[:space:]]*\(NV_35         =\)|NV_35 = -arch=sm_35 -Xcompiler -fPIC|' \
+        -e 's|^[[:space:]]*\(NV20          =\)|NV20 = -arch=sm_20 -Xcompiler -fPIC|' \
+        -e 's|^[[:space:]]*\(NV30          =\)|NV30 = -arch=sm_30 -Xcompiler -fPIC|' \
+        -e 's|^[[:space:]]*\(NV35          =\)|NV35 = -arch=sm_35 -Xcompiler -fPIC|' \
         -e 's|^[[:space:]]*\(NVCC          =\) echo|NVCC = $(CUDA_ROOT)/bin/nvcc|' \
         -e 's|^[[:space:]]*\(NVCCFLAGS     =\)|NVCCFLAGS = $(NV20) -O3 -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_60,code=sm_60|'
   '';
@@ -64,7 +64,7 @@ stdenv.mkDerivation {
         for i in "$out"/lib/lib*.a; do
           ar -x $i
         done
-        ''${CC} *.o ${if stdenv.isDarwin then "-dynamiclib" else "--shared"} -o "$out/lib/libsuitesparse.${SHLIB_EXT}" -lopenblas
+        ${if enableCuda then cudatoolkit else stdenv.cc.outPath}/bin/${if enableCuda then "nvcc" else "cc"} *.o ${if stdenv.isDarwin then "-dynamiclib" else "--shared"} -o "$out/lib/libsuitesparse.${SHLIB_EXT}" -lopenblas ${stdenv.lib.optionalString enableCuda "-lcublas"}
     )
     for i in umfpack cholmod amd camd colamd spqr; do
       ln -s libsuitesparse.${SHLIB_EXT} "$out"/lib/lib$i.${SHLIB_EXT}