From 83d1827399cb548f47484e93c16ccc355997c9e4 Mon Sep 17 00:00:00 2001 From: Luna Nova Date: Fri, 12 Sep 2025 21:30:04 -0700 Subject: [PATCH] magma: set -fopenmp for rocm, use modern rocm c/xx --- pkgs/by-name/ma/magma/package.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/ma/magma/package.nix b/pkgs/by-name/ma/magma/package.nix index 9c5d762fd8eb..06fbe93a003d 100644 --- a/pkgs/by-name/ma/magma/package.nix +++ b/pkgs/by-name/ma/magma/package.nix @@ -170,6 +170,10 @@ stdenv.mkDerivation (finalAttrs: { ] ); + env.CFLAGS = "-DADD_" + lib.optionalString rocmSupport " -fopenmp"; + env.CXXFLAGS = finalAttrs.env.CFLAGS; + env.FFLAGS = "-DADD_"; + cmakeFlags = [ (strings.cmakeFeature "GPU_TARGET" gpuTargetString) (strings.cmakeBool "MAGMA_ENABLE_CUDA" cudaSupport) @@ -179,9 +183,6 @@ stdenv.mkDerivation (finalAttrs: { # otherwise not be set in NVCC_FLAGS or DEVCCFLAGS (which we cannot modify). # See https://github.com/NixOS/nixpkgs/issues/281656#issuecomment-1902931289 (strings.cmakeBool "USE_FORTRAN" true) - (strings.cmakeFeature "CMAKE_C_FLAGS" "-DADD_") - (strings.cmakeFeature "CMAKE_CXX_FLAGS" "-DADD_") - (strings.cmakeFeature "FORTRAN_CONVENTION" "-DADD_") ] ++ lists.optionals cudaSupport [ (strings.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaArchitecturesString) @@ -192,8 +193,8 @@ stdenv.mkDerivation (finalAttrs: { # 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" "${rocmPackages.clr}") - (strings.cmakeFeature "CMAKE_C_COMPILER" "${rocmPackages.clr}/bin/hipcc") - (strings.cmakeFeature "CMAKE_CXX_COMPILER" "${rocmPackages.clr}/bin/hipcc") + (strings.cmakeFeature "CMAKE_C_COMPILER" "${rocmPackages.clr}/bin/clang") + (strings.cmakeFeature "CMAKE_CXX_COMPILER" "${rocmPackages.clr}/bin/clang++") ]; # Magma doesn't have a test suite we can easily run, just loose executables, all of which require a GPU.