diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/science/math/magma/generic.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/science/math/magma/generic.nix | 40 |
1 files changed, 13 insertions, 27 deletions
diff --git a/nixpkgs/pkgs/development/libraries/science/math/magma/generic.nix b/nixpkgs/pkgs/development/libraries/science/math/magma/generic.nix index 49efda96829c..04f263568ce6 100644 --- a/nixpkgs/pkgs/development/libraries/science/math/magma/generic.nix +++ b/nixpkgs/pkgs/development/libraries/science/math/magma/generic.nix @@ -28,6 +28,7 @@ , ninja , openmp , rocmSupport ? false +, static ? false , stdenv , symlinkJoin }: @@ -85,29 +86,6 @@ let # "75" -> "750" Cf. https://bitbucket.org/icl/magma/src/f4ec79e2c13a2347eff8a77a3be6f83bc2daec20/CMakeLists.txt#lines-273 "${minArch'}0"; - cuda-common-redist = with cudaPackages; [ - libcublas # cublas_v2.h - libcusparse # cusparse.h - ]; - - # Build-time dependencies - cuda-native-redist = symlinkJoin { - name = "cuda-native-redist-${cudaVersion}"; - paths = with cudaPackages; [ - cuda_cudart # cuda_runtime.h - cuda_nvcc - ] ++ lists.optionals (strings.versionOlder cudaVersion "11.8") [ - cuda_nvprof # <cuda_profiler_api.h> - ] ++ lists.optionals (strings.versionAtLeast cudaVersion "11.8") [ - cuda_profiler_api # <cuda_profiler_api.h> - ] ++ cuda-common-redist; - }; - - # Run-time dependencies - cuda-redist = symlinkJoin { - name = "cuda-redist-${cudaVersion}"; - paths = cuda-common-redist; - }; in assert (builtins.match "[^[:space:]]*" gpuTargetString) != null; @@ -127,16 +105,22 @@ stdenv.mkDerivation { ninja gfortran ] ++ lists.optionals cudaSupport [ - cuda-native-redist + cudaPackages.cuda_nvcc ]; buildInputs = [ libpthreadstubs lapack blas - ] ++ lists.optionals cudaSupport [ - cuda-redist - ] ++ lists.optionals rocmSupport [ + ] ++ lists.optionals cudaSupport (with cudaPackages; [ + cuda_cudart + libcublas # cublas_v2.h + libcusparse # cusparse.h + ] ++ lists.optionals (strings.versionOlder cudaVersion "11.8") [ + cuda_nvprof # <cuda_profiler_api.h> + ] ++ lists.optionals (strings.versionAtLeast cudaVersion "11.8") [ + cuda_profiler_api # <cuda_profiler_api.h> + ]) ++ lists.optionals rocmSupport [ hip hipblas hipsparse @@ -145,6 +129,8 @@ stdenv.mkDerivation { cmakeFlags = [ "-DGPU_TARGET=${gpuTargetString}" + ] ++ lists.optionals static [ + "-DBUILD_SHARED_LIBS=OFF" ] ++ lists.optionals cudaSupport [ "-DCMAKE_CUDA_ARCHITECTURES=${cudaArchitecturesString}" "-DMIN_ARCH=${minArch}" # Disarms magma's asserts |