summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorMark Abraham <Mark.J.Abraham@gmail.com>2022-06-16 20:21:36 +0200
committerGitHub <noreply@github.com>2022-06-16 12:21:36 -0600
commit3b393fe0eb8dc63aea9c4d4f38ad756cf4daa8d7 (patch)
tree53c14860caf06ae7f7b9a0125150ec6a46892ab8 /var
parent895ceeda388d3bff406077a5c3689102d53a34c0 (diff)
downloadspack-3b393fe0eb8dc63aea9c4d4f38ad756cf4daa8d7.tar.gz
spack-3b393fe0eb8dc63aea9c4d4f38ad756cf4daa8d7.tar.bz2
spack-3b393fe0eb8dc63aea9c4d4f38ad756cf4daa8d7.tar.xz
spack-3b393fe0eb8dc63aea9c4d4f38ad756cf4daa8d7.zip
Add LevelZero variant to hwloc package (#31161)
* Add LevelZero variant to hwloc package This permits the hwloc package to build with with support for the Intel Level Zero low-level layer, analogous to CUDA, ROCm, and OpenCL. * Fix typo
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/hwloc/package.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/hwloc/package.py b/var/spack/repos/builtin/packages/hwloc/package.py
index 2854fa9b7c..ad2325f629 100644
--- a/var/spack/repos/builtin/packages/hwloc/package.py
+++ b/var/spack/repos/builtin/packages/hwloc/package.py
@@ -85,6 +85,8 @@ class Hwloc(AutotoolsPackage):
description="Support an OpenCL library at run time")
variant('rocm', default=False,
description="Support ROCm devices")
+ variant('oneapi-level-zero', default=False,
+ description="Support Intel OneAPI Level Zero devices")
# netloc isn't available until version 2.0.0
conflicts('+netloc', when="@:1")
@@ -129,6 +131,11 @@ class Hwloc(AutotoolsPackage):
# variant of llvm-amdgpu depends on hwloc.
depends_on('llvm-amdgpu~openmp', when='+opencl')
+ with when('+oneapi-level-zero'):
+ depends_on('oneapi-level-zero')
+ # oneapi-level-zero isn't available until version 2.5.0
+ conflicts('@:2.4.99', msg='hwloc supports Intel OneAPI Level Zero only since 2.5.0')
+
@classmethod
def determine_version(cls, exe):
output = Executable(exe)('--version', output=str, error=str)
@@ -174,10 +181,14 @@ class Hwloc(AutotoolsPackage):
args.extend(self.enable_or_disable('libudev'))
args.extend(self.enable_or_disable('pci'))
args.extend(self.enable_or_disable('shared'))
+ args.extend(self.enable_or_disable('oneapi-level-zero'))
if '+cuda' in self.spec:
args.append('--with-cuda={0}'.format(self.spec['cuda'].prefix))
args.append('--with-cuda-version={0}'.format(
self.spec['cuda'].version))
+ if '+oneapi-level-zero' in self.spec:
+ args.append('--enable-levelzero')
+
return args