diff options
author | Jeremy Schlatter <jeremy@jeremyschlatter.com> | 2024-06-23 15:39:58 -0700 |
---|---|---|
committer | Jeremy Schlatter <jeremy@jeremyschlatter.com> | 2024-06-23 16:51:31 -0700 |
commit | 4a2b827c716ffcd67f6c12d14024ae63a5311c34 (patch) | |
tree | 1fc6aafa03e787268204386038cea5efcb95fc1c /pkgs/development/libraries/science/math | |
parent | 803a229f08cd86630c3bf782412efe44c7cf109f (diff) |
treewide: use cmakeCudaArchitecturesString
Diffstat (limited to 'pkgs/development/libraries/science/math')
3 files changed, 9 insertions, 14 deletions
diff --git a/pkgs/development/libraries/science/math/faiss/default.nix b/pkgs/development/libraries/science/math/faiss/default.nix index 59494fadfd900..5af73735fdf60 100644 --- a/pkgs/development/libraries/science/math/faiss/default.nix +++ b/pkgs/development/libraries/science/math/faiss/default.nix @@ -29,8 +29,7 @@ let pname = "faiss"; version = "1.7.4"; - inherit (cudaPackages) cudaFlags backendStdenv; - inherit (cudaFlags) cudaCapabilities dropDot; + inherit (cudaPackages) flags backendStdenv; stdenv = if cudaSupport then backendStdenv else inputs.stdenv; @@ -93,7 +92,7 @@ stdenv.mkDerivation { "-DFAISS_ENABLE_PYTHON=${if pythonSupport then "ON" else "OFF"}" "-DFAISS_OPT_LEVEL=${optLevel}" ] ++ lib.optionals cudaSupport [ - "-DCMAKE_CUDA_ARCHITECTURES=${builtins.concatStringsSep ";" (map dropDot cudaCapabilities)}" + "-DCMAKE_CUDA_ARCHITECTURES=${flags.cmakeCudaArchitecturesString}" "-DCUDAToolkit_INCLUDE_DIR=${cudaJoined}/include" ]; diff --git a/pkgs/development/libraries/science/math/magma/generic.nix b/pkgs/development/libraries/science/math/magma/generic.nix index 757a1b77dafc5..a675142f361d4 100644 --- a/pkgs/development/libraries/science/math/magma/generic.nix +++ b/pkgs/development/libraries/science/math/magma/generic.nix @@ -41,8 +41,7 @@ let then cudaPackages_11 else cudaPackages; - inherit (effectiveCudaPackages) cudaAtLeast cudaFlags cudaOlder; - inherit (cudaFlags) cudaCapabilities; + inherit (effectiveCudaPackages) cudaAtLeast flags cudaOlder; # move to newer ROCm version once supported rocmPackages = rocmPackages_5; @@ -52,7 +51,7 @@ let # lists.subtractLists a b = b - a # For ROCm - # NOTE: The hip.gpuTargets are prefixed with "gfx" instead of "sm" like cudaFlags.realArches. + # NOTE: The hip.gpuTargets are prefixed with "gfx" instead of "sm" like flags.realArches. # For some reason, Magma's CMakeLists.txt file does not handle the "gfx" prefix, so we must # remove it. rocmArches = lists.map (x: strings.removePrefix "gfx" x) rocmPackages.clr.gpuTargets; @@ -83,12 +82,11 @@ let throw "No GPU targets specified" ); - # E.g. [ "80" "86" "90" ] - cudaArchitectures = (builtins.map cudaFlags.dropDot cudaCapabilities); - - cudaArchitecturesString = strings.concatStringsSep ";" cudaArchitectures; + cudaArchitecturesString = flags.cmakeCudaArchitecturesString; minArch = let + # E.g. [ "80" "86" "90" ] + cudaArchitectures = (builtins.map flags.dropDot flags.cudaCapabilities); minArch' = builtins.head (builtins.sort strings.versionOlder cudaArchitectures); in # "75" -> "750" Cf. https://bitbucket.org/icl/magma/src/f4ec79e2c13a2347eff8a77a3be6f83bc2daec20/CMakeLists.txt#lines-273 diff --git a/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix b/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix index 2036c4c86253b..e9367d416e325 100644 --- a/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix +++ b/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix @@ -11,7 +11,7 @@ which, }: let inherit (lib) lists strings; - inherit (cudaPackages) backendStdenv cudaFlags; + inherit (cudaPackages) backendStdenv flags; cuda-common-redist = with cudaPackages; [ cuda_cudart.dev # cuda_runtime.h @@ -89,9 +89,7 @@ in doCheck = false; preConfigure = '' - export TCNN_CUDA_ARCHITECTURES="${ - strings.concatStringsSep ";" (lists.map cudaFlags.dropDot cudaFlags.cudaCapabilities) - }" + export TCNN_CUDA_ARCHITECTURES="${flags.cmakeCudaArchitecturesString}" export CUDA_HOME="${cuda-native-redist}" export LIBRARY_PATH="${cuda-native-redist}/lib/stubs:$LIBRARY_PATH" export CC="${backendStdenv.cc}/bin/cc" |