diff options
author | Mark Abraham <Mark.J.Abraham@gmail.com> | 2022-06-16 20:21:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-16 12:21:36 -0600 |
commit | 3b393fe0eb8dc63aea9c4d4f38ad756cf4daa8d7 (patch) | |
tree | 53c14860caf06ae7f7b9a0125150ec6a46892ab8 | |
parent | 895ceeda388d3bff406077a5c3689102d53a34c0 (diff) | |
download | spack-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
-rw-r--r-- | var/spack/repos/builtin/packages/hwloc/package.py | 11 |
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 |