diff options
Diffstat (limited to 'var')
-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 += [ |