summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorKen Raffenetti <raffenet@users.noreply.github.com>2022-05-06 09:12:23 -0500
committerGitHub <noreply@github.com>2022-05-06 16:12:23 +0200
commit17c32811fbdc4e370384e996f9c744cd44f48b1f (patch)
tree188257797646c26d02ffcd109fe3c3ff68682986 /var
parentad1391db7523285b7b58d29e026ec0add1412e39 (diff)
downloadspack-17c32811fbdc4e370384e996f9c744cd44f48b1f.tar.gz
spack-17c32811fbdc4e370384e996f9c744cd44f48b1f.tar.bz2
spack-17c32811fbdc4e370384e996f9c744cd44f48b1f.tar.xz
spack-17c32811fbdc4e370384e996f9c744cd44f48b1f.zip
level-zero: add new package (#30253)
Co-authored-by: Robert Cohn <rscohn2@gmail.com> Co-authored-by: Robert Cohn <robert.s.cohn@intel.com> Co-authored-by: John Mellor-Crummey <johnmc@rice.edu>
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/hpctoolkit/package.py7
-rw-r--r--var/spack/repos/builtin/packages/oneapi-level-zero/package.py33
-rw-r--r--var/spack/repos/builtin/packages/tau/package.py5
3 files changed, 43 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/hpctoolkit/package.py b/var/spack/repos/builtin/packages/hpctoolkit/package.py
index 87c63be137..87bd1eea1b 100644
--- a/var/spack/repos/builtin/packages/hpctoolkit/package.py
+++ b/var/spack/repos/builtin/packages/hpctoolkit/package.py
@@ -64,6 +64,9 @@ class Hpctoolkit(AutotoolsPackage):
description='Needed when MPICXX builds static binaries '
'for the compute nodes.')
+ variant('level_zero', default=False,
+ description='Support Level Zero on Intel GPUs (2022.04.15 or later).')
+
variant('cuda', default=False,
description='Support CUDA on NVIDIA GPUs (2020.03.01 or later).')
@@ -102,6 +105,7 @@ class Hpctoolkit(AutotoolsPackage):
depends_on('zlib+shared')
depends_on('cuda', when='+cuda')
+ depends_on('oneapi-level-zero', when='+level_zero')
depends_on('intel-xed', when='target=x86_64:')
depends_on('memkind', type=('build', 'run'), when='@2021.05.01:')
depends_on('papi', when='+papi')
@@ -167,6 +171,9 @@ class Hpctoolkit(AutotoolsPackage):
if '+cuda' in spec:
args.append('--with-cuda=%s' % spec['cuda'].prefix)
+ if '+level_zero' in spec:
+ args.append('--with-level0=%s' % spec['oneapi-level-zero'].prefix)
+
if spec.satisfies('@:2020.09'):
args.append('--with-gotcha=%s' % spec['gotcha'].prefix)
diff --git a/var/spack/repos/builtin/packages/oneapi-level-zero/package.py b/var/spack/repos/builtin/packages/oneapi-level-zero/package.py
new file mode 100644
index 0000000000..5e2ebcda9c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/oneapi-level-zero/package.py
@@ -0,0 +1,33 @@
+# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class OneapiLevelZero(CMakePackage):
+ """oneAPI Level Zero Loader.
+
+ Applications that need low-level control of a oneAPI level zero
+ device link against the loader. The loader depends on a separately
+ installed level zero driver. See
+ https://dgpu-docs.intel.com/technologies/level-zero.html for
+ information on how to install the driver.
+ """
+
+ homepage = "https://dgpu-docs.intel.com/technologies/level-zero.html"
+ url = "https://github.com/oneapi-src/level-zero/archive/refs/tags/v1.7.15.tar.gz"
+
+ maintainers = ['rscohn2']
+
+ version('1.7.15', sha256='c39bb05a8e5898aa6c444e1704105b93d3f1888b9c333f8e7e73825ffbfb2617')
+ version('1.7.9', sha256='b430a7f833a689c899b32172a31c3bca1d16adcad8ff866f240a3a8968433de7')
+ version('1.7.4', sha256='23a3f393f6e8f7ed694e0d3248d1ac1b92f2b6964cdb4d747abc23328050513b')
+ version('1.6.2', sha256='ef124adc7a011b672e661fbe38873d7db6546c068a4a03610fdc5118b6b6cbf7')
+ version('1.5.4', sha256='0332215bd00f49e3cc75cf0cfb0111b5e8b7f41046f0b85e29725f00c26bf750')
+ version('1.5', sha256='f93523b412522713bb28d54e2326cac0c342a0cd2662f524c17a65887cf868e8')
+ version('1.4.1', sha256='2878fa29cbf5cea677a00f6dde6eb42d147c98c8d2a99fefece284d85cd1476b')
+ version('1.3.7', sha256='e84c7f36316257eb46f74b41aef5c37fb593a8821497e45dfeda81aceba0abbc')
+ version('1.3.6', sha256='c2b3bd6e4ee3cc874bdcc32bc8705bd217ffc46b194c77e27b23b8391c0c9704')
+ version('1.2.3', sha256='69689429fcdaef74fa8395785aca65f5652e410bd6c56f47b2b64692c098892b')
diff --git a/var/spack/repos/builtin/packages/tau/package.py b/var/spack/repos/builtin/packages/tau/package.py
index a3fe579995..05a6102064 100644
--- a/var/spack/repos/builtin/packages/tau/package.py
+++ b/var/spack/repos/builtin/packages/tau/package.py
@@ -116,7 +116,8 @@ class Tau(Package):
depends_on('rocprofiler-dev', when='+rocprofiler')
depends_on('roctracer-dev', when='+roctracer')
depends_on('hsa-rocr-dev', when='+rocm')
- depends_on('java', type='run') # for paraprof
+ depends_on('java', type='run') # for paraprof
+ depends_on('oneapi-level-zero', when='+level_zero')
# Elf only required from 2.28.1 on
conflicts('+elf', when='@:2.28.0')
@@ -263,7 +264,7 @@ class Tau(Package):
options.append("-cuda=%s" % spec['cuda'].prefix)
if '+level_zero' in spec:
- options.append("-level_zero")
+ options.append("-level_zero=%s" % spec['oneapi-level-zero'].prefix)
if '+opencl' in spec:
options.append("-opencl")