diff options
author | Robert Cohn <robert.s.cohn@intel.com> | 2023-05-10 10:47:57 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-10 10:47:57 -0400 |
commit | 8eb18295548963b66f7b460d4fecea3396a642a9 (patch) | |
tree | a9da8e18331c94daa51659f141089dd6a051e377 | |
parent | e70755f69212a49177d4c4ac0e365c989b90c7df (diff) | |
download | spack-8eb18295548963b66f7b460d4fecea3396a642a9.tar.gz spack-8eb18295548963b66f7b460d4fecea3396a642a9.tar.bz2 spack-8eb18295548963b66f7b460d4fecea3396a642a9.tar.xz spack-8eb18295548963b66f7b460d4fecea3396a642a9.zip |
intel-oneapi-mkl: add threading support (#37586)
-rw-r--r-- | var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py index f01631d3c6..c8cd33ab8a 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py @@ -97,6 +97,13 @@ class IntelOneapiMkl(IntelOneApiLibraryPackage): variant( "cluster", default=False, description="Build with cluster support: scalapack, blacs, etc" ) + variant( + "threads", + default="none", + description="Multithreading support", + values=("openmp", "tbb", "none"), + multi=False, + ) depends_on("intel-oneapi-tbb") # cluster libraries need mpi @@ -155,7 +162,16 @@ class IntelOneapiMkl(IntelOneApiLibraryPackage): if "+cluster" in self.spec: libs.extend([self._xlp64_lib("libmkl_scalapack"), "libmkl_cdft_core"]) - libs.extend([self._xlp64_lib("libmkl_intel"), "libmkl_sequential", "libmkl_core"]) + libs.append(self._xlp64_lib("libmkl_intel")) + + if "threads=tbb" in self.spec: + libs.append("libmkl_tbb_thread") + elif "threads=openmp" in self.spec: + libs.append("libmkl_intel_thread") + else: + libs.append("libmkl_sequential") + + libs.append("libmkl_core") if "+cluster" in self.spec: libs.append(self._xlp64_lib("libmkl_blacs_intelmpi")) |