diff options
author | AMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com> | 2024-02-22 19:51:00 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-22 15:21:00 +0100 |
commit | 28d25affcc09d5dc2c06b3b11c2edcb3e2b5ff59 (patch) | |
tree | c3b605b79ae1cf98b1caf0c3586569e66f6fe724 | |
parent | 3ebaf339153918c5801199e4bb583e1ab88ee651 (diff) | |
download | spack-28d25affcc09d5dc2c06b3b11c2edcb3e2b5ff59.tar.gz spack-28d25affcc09d5dc2c06b3b11c2edcb3e2b5ff59.tar.bz2 spack-28d25affcc09d5dc2c06b3b11c2edcb3e2b5ff59.tar.xz spack-28d25affcc09d5dc2c06b3b11c2edcb3e2b5ff59.zip |
ELPA: Linking fixes for BLAS and OpenMP (#42747)
Co-authored-by: Phil Tooley <phil.tooley@amd.com>
-rw-r--r-- | var/spack/repos/builtin/packages/elpa/package.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/var/spack/repos/builtin/packages/elpa/package.py b/var/spack/repos/builtin/packages/elpa/package.py index de04ff9aa2..b682e7c726 100644 --- a/var/spack/repos/builtin/packages/elpa/package.py +++ b/var/spack/repos/builtin/packages/elpa/package.py @@ -176,16 +176,16 @@ class Elpa(AutotoolsPackage, CudaPackage, ROCmPackage): options += self.enable_or_disable("openmp") - # if using mkl with openmp support, link with openmp - mkl_openmp_flag = ( - self.compiler.openmp_flag - if self.spec.satisfies("^intel-oneapi-mkl threads=openmp") - else "" - ) - options += [ - "LDFLAGS={0} {1}".format(mkl_openmp_flag, spec["lapack"].libs.search_flags), - "LIBS={0} {1}".format(spec["lapack"].libs.link_flags, spec["blas"].libs.link_flags), - ] + # Additional linker search paths and link libs + ldflags = [spec["blas"].libs.search_flags, spec["lapack"].libs.search_flags] + libs = [spec["lapack"].libs.link_flags, spec["blas"].libs.link_flags] + + # If using blas with openmp support, link with openmp + # Needed for Spack-provided OneAPI MKL and for many externals + if self.spec["blas"].satisfies("threads=openmp"): + ldflags.append(self.compiler.openmp_flag) + + options += [f'LDFLAGS={" ".join(ldflags)}', f'LIBS={" ".join(libs)}'] if "+mpi" in self.spec: options += [ |