summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorG-Ragghianti <33492707+G-Ragghianti@users.noreply.github.com>2020-11-14 10:39:14 -0500
committerGitHub <noreply@github.com>2020-11-14 09:39:14 -0600
commit19b26f2938ecb1348093b2d32f29584c8d9902dc (patch)
treecd631f5af3dd918f6f6be712f5065193715c43c2 /var
parentd439573c608fdc7fa62afc93d035093eefd88aa4 (diff)
downloadspack-19b26f2938ecb1348093b2d32f29584c8d9902dc.tar.gz
spack-19b26f2938ecb1348093b2d32f29584c8d9902dc.tar.bz2
spack-19b26f2938ecb1348093b2d32f29584c8d9902dc.tar.xz
spack-19b26f2938ecb1348093b2d32f29584c8d9902dc.zip
PAPI package: added cuda and nvml support (#19896)
* Added cuda support * Added cuda and nvml variants * Refined version conflict logic.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/papi/package.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/papi/package.py b/var/spack/repos/builtin/packages/papi/package.py
index 8173c49986..04a425b3ad 100644
--- a/var/spack/repos/builtin/packages/papi/package.py
+++ b/var/spack/repos/builtin/packages/papi/package.py
@@ -38,6 +38,8 @@ class Papi(AutotoolsPackage):
variant('rapl', default=False, description='Enable RAPL support')
variant('lmsensors', default=False, description='Enable lm_sensors support')
variant('sde', default=False, description='Enable software defined events')
+ variant('cuda', default=False, description='Enable CUDA support')
+ variant('nvml', default=False, description='Enable NVML support')
variant('shared', default=True, description='Build shared libraries')
# PAPI requires building static libraries, so there is no "static" variant
@@ -46,9 +48,12 @@ class Papi(AutotoolsPackage):
# and therefore not implemented here
depends_on('lm-sensors', when='+lmsensors')
+ depends_on('cuda', when='+cuda')
+ depends_on('cuda', when='+nvml')
conflicts('%gcc@8:', when='@5.3.0', msg='Requires GCC version less than 8.0')
- conflicts('+sde', when='@:5.9.99999', msg='Software defined events (SDE) added in 6.0.0')
+ conflicts('+sde', when='@:5', msg='Software defined events (SDE) added in 6.0.0')
+ conflicts('^cuda', when='@:5', msg='CUDA support for versions < 6.0.0 not implemented')
# This is the only way to match exactly version 6.0.0 without also
# including version 6.0.0.1 due to spack version matching logic
@@ -63,6 +68,8 @@ class Papi(AutotoolsPackage):
def setup_build_environment(self, env):
if '+lmsensors' in self.spec and self.version >= Version('6'):
env.set('PAPI_LMSENSORS_ROOT', self.spec['lm-sensors'].prefix)
+ if '^cuda' in self.spec:
+ env.set('PAPI_CUDA_ROOT', self.spec['cuda'].prefix)
setup_run_environment = setup_build_environment
@@ -75,7 +82,8 @@ class Papi(AutotoolsPackage):
# Build a list of PAPI components
components = filter(
lambda x: spec.variants[x].value,
- ['example', 'infiniband', 'powercap', 'rapl', 'lmsensors', 'sde'])
+ ['example', 'infiniband', 'powercap', 'rapl', 'lmsensors', 'sde',
+ 'cuda', 'nvml'])
if components:
options.append('--with-components=' + ' '.join(components))