Unverified Commit 71b8d8ee authored by Wolfgang Walther's avatar Wolfgang Walther
Browse files

magma_2_{6,7}_2: drop

These throw this error on eval right now:

```
the required ROCm 5.7 version for magma 2.6.2 has been removed
```

They'd technically be usable with CUDA, but are not used in-tree.
parent 9255558c
Loading
Loading
Loading
Loading
+21 −39
Original line number Diff line number Diff line
@@ -42,20 +42,7 @@ let
    ;
  inherit (magmaRelease) version hash supportedGpuTargets;

  # Per https://icl.utk.edu/magma/downloads, support for CUDA 12 wasn't added until 2.7.1.
  # If we're building a version prior to that, use the latest release of the 11.x series.
  effectiveCudaPackages =
    if strings.versionOlder version "2.7.1" then cudaPackages_11 else cudaPackages;

  inherit (effectiveCudaPackages) cudaAtLeast flags cudaOlder;

  effectiveRocmPackages =
    if strings.versionOlder version "2.8.0" then
      throw ''
        the required ROCm 5.7 version for magma ${version} has been removed
      ''
    else
      rocmPackages;
  inherit (cudaPackages) cudaAtLeast flags cudaOlder;

  # NOTE: The lists.subtractLists function is perhaps a bit unintuitive. It subtracts the elements
  #   of the first list *from* the second list. That means:
@@ -65,7 +52,7 @@ let
  # 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) effectiveRocmPackages.clr.gpuTargets;
  rocmArches = lists.map (x: strings.removePrefix "gfx" x) rocmPackages.clr.gpuTargets;
  supportedRocmArches = lists.intersectLists rocmArches supportedGpuTargets;
  unsupportedRocmArches = lists.subtractLists supportedRocmArches rocmArches;

@@ -123,18 +110,11 @@ stdenv.mkDerivation (finalAttrs: {
    "test"
  ];

  postPatch =
    ''
  postPatch = ''
    # For rocm version script invoked by cmake
    patchShebangs tools/
    # Fixup for the python test runners
    patchShebangs ./testing/run_{tests,summarize}.py
    ''
    + lib.optionalString (strings.versionOlder version "2.9.0") ''
      substituteInPlace ./testing/run_tests.py \
        --replace-fail \
          "print >>sys.stderr, cmdp, \"doesn't exist (original name: \" + cmd + \", precision: \" + precision + \")\"" \
          "print(f\"{cmdp} doesn't exist (original name: {cmd}, precision: {precision})\", file=sys.stderr)"
  '';

  nativeBuildInputs =
@@ -145,7 +125,7 @@ stdenv.mkDerivation (finalAttrs: {
      gfortran
    ]
    ++ lists.optionals cudaSupport [
      effectiveCudaPackages.cuda_nvcc
      cudaPackages.cuda_nvcc
    ];

  buildInputs =
@@ -157,7 +137,7 @@ stdenv.mkDerivation (finalAttrs: {
      (getLib gfortran.cc) # libgfortran.so
    ]
    ++ lists.optionals cudaSupport (
      with effectiveCudaPackages;
      with cudaPackages;
      [
        cuda_cccl # <nv/target> and <cuda/std/type_traits>
        cuda_cudart # cuda_runtime.h
@@ -172,7 +152,7 @@ stdenv.mkDerivation (finalAttrs: {
      ]
    )
    ++ lists.optionals rocmSupport (
      with effectiveRocmPackages;
      with rocmPackages;
      [
        clr
        hipblas
@@ -203,9 +183,9 @@ stdenv.mkDerivation (finalAttrs: {
      # Can be removed once https://github.com/icl-utk-edu/magma/pull/27 is merged
      # Can't easily apply the PR as a patch because we rely on the tarball with pregenerated
      # hipified files ∴ fetchpatch of the PR will apply cleanly but fail to build
      (strings.cmakeFeature "ROCM_CORE" "${effectiveRocmPackages.clr}")
      (strings.cmakeFeature "CMAKE_C_COMPILER" "${effectiveRocmPackages.clr}/bin/hipcc")
      (strings.cmakeFeature "CMAKE_CXX_COMPILER" "${effectiveRocmPackages.clr}/bin/hipcc")
      (strings.cmakeFeature "ROCM_CORE" "${rocmPackages.clr}")
      (strings.cmakeFeature "CMAKE_C_COMPILER" "${rocmPackages.clr}/bin/hipcc")
      (strings.cmakeFeature "CMAKE_CXX_COMPILER" "${rocmPackages.clr}/bin/hipcc")
    ];

  # Magma doesn't have a test suite we can easily run, just loose executables, all of which require a GPU.
@@ -241,8 +221,12 @@ stdenv.mkDerivation (finalAttrs: {
    '';

  passthru = {
    inherit cudaSupport rocmSupport gpuTargets;
    cudaPackages = effectiveCudaPackages;
    inherit
      cudaPackages
      cudaSupport
      rocmSupport
      gpuTargets
      ;
    testers = {
      all =
        let
@@ -395,8 +379,6 @@ stdenv.mkDerivation (finalAttrs: {
      # dynamic CUDA support is broken https://github.com/NixOS/nixpkgs/issues/239237
      (cudaSupport && !static)
      || !(cudaSupport || rocmSupport) # At least one back-end enabled
      || (cudaSupport && rocmSupport) # Mutually exclusive
      || (cudaSupport && strings.versionOlder version "2.7.1" && cudaPackages_11 == null)
      || (rocmSupport && strings.versionOlder version "2.8.0");
      || (cudaSupport && rocmSupport); # Mutually exclusive
  };
})
+0 −62
Original line number Diff line number Diff line
@@ -4,68 +4,6 @@
#   HIP is here: https://github.com/icl-utk-edu/magma/blob/v2.9.0/CMakeLists.txt#L290
#   CUDA works around magma's wrappers and uses FindCUDAToolkit directly
[
  {
    version = "2.6.2";
    hash = "sha256-dbVU2rAJA+LRC5cskT5Q5/iMvGLzrkMrWghsfk7aCnE=";
    supportedGpuTargets = [
      "700"
      "701"
      "702"
      "703"
      "704"
      "705"
      "801"
      "802"
      "803"
      "805"
      "810"
      "900"
      "902"
      "904"
      "906"
      "908"
      "909"
      "90c"
      "1010"
      "1011"
      "1012"
      "1030"
      "1031"
      "1032"
      "1033"
    ];
  }
  {
    version = "2.7.2";
    hash = "sha256-cpvBpw5RinQi/no6VFN6R0EDWne+M0n2bqxcNiV21WA=";
    supportedGpuTargets = [
      "700"
      "701"
      "702"
      "703"
      "704"
      "705"
      "801"
      "802"
      "803"
      "805"
      "810"
      "900"
      "902"
      "904"
      "906"
      "908"
      "909"
      "90c"
      "1010"
      "1011"
      "1012"
      "1030"
      "1031"
      "1032"
      "1033"
    ];
  }
  {
    version = "2.9.0";
    hash = "sha256-/3f9Nyaz3+w7+1V5CwZICqXMOEOWwts1xW/a5KgsZBw=";
+2 −0
Original line number Diff line number Diff line
@@ -1214,6 +1214,8 @@ mapAliases {
  ma1sd = throw "ma1sd was dropped as it is unmaintained"; # Added 2024-07-10
  mac = monkeysAudio; # Added 2024-11-30
  MACS2 = macs2; # Added 2023-06-12
  magma_2_6_2 = throw "'magma_2_6_2' has been removed, use the latest 'magma' package instead."; # Added 2025-07-20
  magma_2_7_2 = throw "'magma_2_7_2' has been removed, use the latest 'magma' package instead."; # Added 2025-07-20
  mailcore2 = throw "'mailcore2' has been removed due to lack of upstream maintenance."; # Added 2025-06-09
  mailctl = throw "mailctl has been renamed to oama"; # Added 2024-08-19
  mailman-rss = throw "The mailman-rss package was dropped since it was unmaintained."; # Added 2024-06-21
+1 −1
Original line number Diff line number Diff line
@@ -15312,7 +15312,7 @@ with pkgs;
  # standard BLAS and LAPACK.
  openblasCompat = openblas.override { blas64 = false; };

  inherit (callPackage ../development/libraries/science/math/magma { }) magma magma_2_7_2 magma_2_6_2;
  inherit (callPackage ../development/libraries/science/math/magma { }) magma;

  magma-cuda = magma.override {
    cudaSupport = true;