From 075dd648833fccce52de4d9ad998e07b807f7b44 Mon Sep 17 00:00:00 2001 From: David Boehme Date: Wed, 27 Jul 2022 14:38:54 -0700 Subject: Add Caliper v2.8.0 and rocm support (#31632) * Add Caliper v2.8.0 * Add conflict for +rocm+cuda --- .../repos/builtin/packages/caliper/package.py | 41 ++++++++++++---------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/var/spack/repos/builtin/packages/caliper/package.py b/var/spack/repos/builtin/packages/caliper/package.py index e09c9d3bb6..1e7f15c4da 100644 --- a/var/spack/repos/builtin/packages/caliper/package.py +++ b/var/spack/repos/builtin/packages/caliper/package.py @@ -11,7 +11,7 @@ from llnl.util import tty from spack.package import * -class Caliper(CMakePackage, CudaPackage): +class Caliper(CMakePackage, CudaPackage, ROCmPackage): """Caliper is a program instrumentation and performance measurement framework. It is designed as a performance analysis toolbox in a library, allowing one to bake performance analysis capabilities @@ -20,7 +20,7 @@ class Caliper(CMakePackage, CudaPackage): homepage = "https://github.com/LLNL/Caliper" git = "https://github.com/LLNL/Caliper.git" - url = "https://github.com/LLNL/Caliper/archive/v2.7.0.tar.gz" + url = "https://github.com/LLNL/Caliper/archive/v2.8.0.tar.gz" tags = ['e4s', 'radiuss'] maintainers = ["daboehme"] @@ -28,6 +28,7 @@ class Caliper(CMakePackage, CudaPackage): test_requires_compiler = True version('master', branch='master') + version('2.8.0', sha256='17807b364b5ac4b05997ead41bd173e773f9a26ff573ff2fe61e0e70eab496e4') version('2.7.0', sha256='b3bf290ec2692284c6b4f54cc0c507b5700c536571d3e1a66e56626618024b2b') version('2.6.0', sha256='6efcd3e4845cc9a6169e0d934840766b12182c6d09aa3ceca4ae776e23b6360f') version('2.5.0', sha256='d553e60697d61c53de369b9ca464eb30710bda90fba9671201543b64eeac943c') @@ -85,9 +86,11 @@ class Caliper(CMakePackage, CudaPackage): depends_on('python', type='build') # sosflow support not yet in 2.0 - conflicts('+sosflow', '@2.0.0:2.5') + conflicts('+sosflow', '@2.0.0:2.8') conflicts('+adiak', '@:2.1') conflicts('+libdw', '@:2.4') + conflicts('+rocm', '@:2.7') + conflicts('+rocm+cuda') patch('for_aarch64.patch', when='target=aarch64:') @@ -99,16 +102,20 @@ class Caliper(CMakePackage, CudaPackage): spec['python'].command.path), '-DBUILD_TESTING=Off', '-DBUILD_DOCS=Off', - '-DBUILD_SHARED_LIBS=%s' % ('On' if '+shared' in spec else 'Off'), - '-DWITH_ADIAK=%s' % ('On' if '+adiak' in spec else 'Off'), - '-DWITH_GOTCHA=%s' % ('On' if '+gotcha' in spec else 'Off'), - '-DWITH_PAPI=%s' % ('On' if '+papi' in spec else 'Off'), - '-DWITH_LIBDW=%s' % ('On' if '+libdw' in spec else 'Off'), - '-DWITH_LIBPFM=%s' % ('On' if '+libpfm' in spec else 'Off'), - '-DWITH_SOSFLOW=%s' % ('On' if '+sosflow' in spec else 'Off'), - '-DWITH_SAMPLER=%s' % ('On' if '+sampler' in spec else 'Off'), - '-DWITH_MPI=%s' % ('On' if '+mpi' in spec else 'Off'), - '-DWITH_FORTRAN=%s' % ('On' if '+fortran' in spec else 'Off') + self.define_from_variant('BUILD_SHARED_LIBS', 'shared'), + self.define_from_variant('WITH_ADIAK', 'adiak'), + self.define_from_variant('WITH_GOTCHA', 'gotcha'), + self.define_from_variant('WITH_PAPI', 'papi'), + self.define_from_variant('WITH_LIBDW', 'libdw'), + self.define_from_variant('WITH_LIBPFM', 'libpfm'), + self.define_from_variant('WITH_SOSFLOW', 'sosflow'), + self.define_from_variant('WITH_SAMPLER', 'sampler'), + self.define_from_variant('WITH_MPI', 'mpi'), + self.define_from_variant('WITH_FORTRAN', 'fortran'), + self.define_from_variant('WITH_CUPTI', 'cuda'), + self.define_from_variant('WITH_NVTX', 'cuda'), + self.define_from_variant('WITH_ROCTRACER', 'rocm'), + self.define_from_variant('WITH_ROCTX', 'rocm') ] if '+papi' in spec: @@ -137,11 +144,9 @@ class Caliper(CMakePackage, CudaPackage): # technically only works with cuda 10.2+, otherwise cupti is in # ${CUDA_TOOLKIT_ROOT_DIR}/extras/CUPTI args.append('-DCUPTI_PREFIX=%s' % spec['cuda'].prefix) - args.append('-DWITH_NVTX=On') - args.append('-DWITH_CUPTI=On') - else: - args.append('-DWITH_NVTX=Off') - args.append('-DWITH_CUPTI=Off') + + if '+rocm' in spec: + args.append('-DROCM_PREFIX=%s' % spec['hsa-rocr-dev'].prefix) return args -- cgit v1.2.3-70-g09d2