Unverified Commit 4a2b827c authored by Jeremy Schlatter's avatar Jeremy Schlatter
Browse files

treewide: use cmakeCudaArchitecturesString

parent 803a229f
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@
assert enableCuda -> singlePrec;

let
  inherit (cudaPackages.cudaFlags) cudaCapabilities dropDot;
  inherit (cudaPackages.flags) cmakeCudaArchitecturesString;

  # Select reasonable defaults for all major platforms
  # The possible values are defined in CMakeLists.txt:
@@ -111,10 +111,10 @@ in stdenv.mkDerivation rec {
     ]
  ) ++ lib.optionals enableCuda [
    "-DGMX_GPU=CUDA"
    (lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" (builtins.concatStringsSep ";" (map dropDot cudaCapabilities)))
    (lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cmakeCudaArchitecturesString)

    # Gromacs seems to ignore and override the normal variables, so we add this ad hoc:
    (lib.cmakeFeature "GMX_CUDA_TARGET_COMPUTE" (builtins.concatStringsSep ";" (map dropDot cudaCapabilities)))
    (lib.cmakeFeature "GMX_CUDA_TARGET_COMPUTE" cmakeCudaArchitecturesString)
  ];

  postInstall = ''
+1 −6
Original line number Diff line number Diff line
@@ -122,12 +122,7 @@ effectiveStdenv.mkDerivation (finalAttrs: {
    (cmakeBool "LLAMA_VULKAN" vulkanSupport)
  ]
      ++ optionals cudaSupport [
        (
          with cudaPackages.flags;
          cmakeFeature "CMAKE_CUDA_ARCHITECTURES" (
            builtins.concatStringsSep ";" (map dropDot cudaCapabilities)
          )
        )
        (cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaPackages.flags.cmakeCudaArchitecturesString)
      ]
      ++ optionals rocmSupport [
        (cmakeFeature "CMAKE_C_COMPILER" "hipcc")
+1 −5
Original line number Diff line number Diff line
@@ -14,10 +14,6 @@

let
  effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else inputs.stdenv;
  cudaCapabilities = cudaPackages.cudaFlags.cudaCapabilities;
  # E.g. [ "80" "86" "90" ]
  cudaArchitectures = (builtins.map cudaPackages.cudaFlags.dropDot cudaCapabilities);
  cudaArchitecturesString = lib.strings.concatStringsSep ";" cudaArchitectures;
in
effectiveStdenv.mkDerivation (finalAttrs: {
  pname = "fastdeploy-ppocr";
@@ -65,7 +61,7 @@ effectiveStdenv.mkDerivation (finalAttrs: {
      (lib.cmakeBool "BUILD_SHARED_LIBS" true)
    ]
    ++ lib.optionals cudaSupport [
      (lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaArchitecturesString)
      (lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaPackages.flags.cmakeCudaArchitecturesString)
    ];

  postInstall = ''
+1 −4
Original line number Diff line number Diff line
@@ -29,10 +29,7 @@ let
  stdenv = throw "Use effectiveStdenv instead";
  effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else inputs.stdenv;

  cudaCapabilities = cudaPackages.cudaFlags.cudaCapabilities;
  # E.g. [ "80" "86" "90" ]
  cudaArchitectures = (builtins.map cudaPackages.cudaFlags.dropDot cudaCapabilities);
  cudaArchitecturesString = lib.strings.concatStringsSep ";" cudaArchitectures;
  cudaArchitecturesString = cudaPackages.flags.cmakeCudaArchitecturesString;

  howard-hinnant-date = fetchFromGitHub {
    owner = "HowardHinnant";
+2 −3
Original line number Diff line number Diff line
@@ -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"
  ];

Loading