hpctoolkit: add version 2022.04.15, update recipe (#30258)
1. update for rocm 4.5 and drop support for earlier rocm. 2. no longer use mbedtls or gotcha, they are only for old revs. 3. update version requirements for dyninst and libmonitor 4. begin to deprecate old versions
This commit is contained in:
parent
aeba9daea6
commit
878e6b6712
@ -26,6 +26,8 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
|
||||
version('develop', branch='develop')
|
||||
version('master', branch='master')
|
||||
|
||||
version('2022.04.15', commit='a92fdad29fc180cc522a9087bba9554a829ee002')
|
||||
version('2022.01.15', commit='0238e9a052a696707e4e65b2269f342baad728ae')
|
||||
version('2021.10.15', commit='a8f289e4dc87ff98e05cfc105978c09eb2f5ea16')
|
||||
version('2021.05.15', commit='004ea0c2aea6a261e7d5d216c24f8a703fc6c408')
|
||||
@ -35,9 +37,9 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
version('2020.06.12', commit='ac6ae1156e77d35596fea743ed8ae768f7222f19')
|
||||
version('2020.03.01', commit='94ede4e6fa1e05e6f080be8dc388240ea027f769')
|
||||
version('2019.12.28', commit='b4e1877ff96069fd8ed0fdf0e36283a5b4b62240')
|
||||
version('2019.08.14', commit='6ea44ed3f93ede2d0a48937f288a2d41188a277c')
|
||||
version('2018.12.28', commit='8dbf0d543171ffa9885344f32f23cc6f7f6e39bc')
|
||||
version('2018.11.05', commit='d0c43e39020e67095b1f1d8bb89b75f22b12aee9')
|
||||
version('2019.08.14', commit='6ea44ed3f93ede2d0a48937f288a2d41188a277c', deprecated=True)
|
||||
version('2018.12.28', commit='8dbf0d543171ffa9885344f32f23cc6f7f6e39bc', deprecated=True)
|
||||
version('2018.11.05', commit='d0c43e39020e67095b1f1d8bb89b75f22b12aee9', deprecated=True)
|
||||
|
||||
# Options for MPI and hpcprof-mpi. We always support profiling
|
||||
# MPI applications. These options add hpcprof-mpi, the MPI
|
||||
@ -66,8 +68,7 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
description='Support CUDA on NVIDIA GPUs (2020.03.01 or later).')
|
||||
|
||||
variant('rocm', default=False,
|
||||
description='Support ROCM on AMD GPUs, requires ROCM as '
|
||||
'external packages (2021.03.01 or later).')
|
||||
description='Support ROCM on AMD GPUs (2022.04.15 or later).')
|
||||
|
||||
variant('debug', default=False,
|
||||
description='Build in debug (develop) mode.')
|
||||
@ -84,16 +85,18 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
depends_on('binutils@:2.33.1 +libiberty~nls', type='link', when='@:2020.03')
|
||||
depends_on('boost' + boost_libs)
|
||||
depends_on('bzip2+shared', type='link')
|
||||
depends_on('dyninst@10.2.0:', when='@2021.00:')
|
||||
depends_on('dyninst@12.1.0:', when='@2022.0:')
|
||||
depends_on('dyninst@10.2.0:', when='@2021.0:2021.12')
|
||||
depends_on('dyninst@9.3.2:', when='@:2020')
|
||||
depends_on('elfutils+bzip2+xz~nls', type='link')
|
||||
depends_on('gotcha@1.0.3:')
|
||||
depends_on('gotcha@1.0.3:', when='@:2020.09')
|
||||
depends_on('intel-tbb+shared')
|
||||
depends_on('libdwarf')
|
||||
depends_on('libmonitor+hpctoolkit~dlopen', when='@2021.00:')
|
||||
depends_on('libmonitor+hpctoolkit+dlopen', when='@:2020')
|
||||
depends_on('libmonitor@2021.11.08:', when='@2022.01:')
|
||||
depends_on('libunwind@1.4: +xz+pic')
|
||||
depends_on('mbedtls+pic')
|
||||
depends_on('mbedtls+pic', when='@:2022.03')
|
||||
depends_on('xerces-c transcoder=iconv')
|
||||
depends_on('xz+pic', type='link')
|
||||
depends_on('zlib+shared')
|
||||
@ -106,9 +109,10 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
depends_on('mpi', when='+mpi')
|
||||
depends_on('hpcviewer', type='run', when='+viewer')
|
||||
|
||||
depends_on('hip', when='+rocm')
|
||||
depends_on('rocm-dbgapi', when='+rocm')
|
||||
depends_on('roctracer-dev', when='+rocm')
|
||||
depends_on('hip@4.5:', when='+rocm')
|
||||
depends_on('hsa-rocr-dev@4.5:', when='+rocm')
|
||||
depends_on('roctracer-dev@4.5:', when='+rocm')
|
||||
depends_on('rocprofiler-dev@4.5:', when='+rocm')
|
||||
|
||||
conflicts('%gcc@:4.7', when='^dyninst@10.0.0:',
|
||||
msg='hpctoolkit requires gnu gcc 4.8.x or later')
|
||||
@ -122,8 +126,8 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
conflicts('+cuda', when='@:2019',
|
||||
msg='cuda requires 2020.03.01 or later')
|
||||
|
||||
conflicts('+rocm', when='@:2020',
|
||||
msg='rocm requires 2021.03.01 or later')
|
||||
conflicts('+rocm', when='@:2022.03',
|
||||
msg='rocm requires 2022.04.15 or later')
|
||||
|
||||
conflicts('^binutils@2.35:2.35.1',
|
||||
msg='avoid binutils 2.35 and 2.35.1 (spews errors)')
|
||||
@ -135,6 +139,11 @@ class Hpctoolkit(AutotoolsPackage):
|
||||
sha256='c8371b929f45dafae37d2ef17880fcfb86de893beebaec501a282bc04b61ef64',
|
||||
when='@2019.08.01:2021.03 %gcc@11.0:')
|
||||
|
||||
# Change python to python3 for some old revs that use a script
|
||||
# with /usr/bin/env python.
|
||||
depends_on('python@3.4:', type='build', when='@2020.03:2020.08')
|
||||
patch('python3.patch', when='@2020.03:2020.08')
|
||||
|
||||
flag_handler = AutotoolsPackage.build_system_flags
|
||||
|
||||
def configure_args(self):
|
||||
@ -146,12 +155,10 @@ def configure_args(self):
|
||||
'--with-bzip=%s' % spec['bzip2'].prefix,
|
||||
'--with-dyninst=%s' % spec['dyninst'].prefix,
|
||||
'--with-elfutils=%s' % spec['elfutils'].prefix,
|
||||
'--with-gotcha=%s' % spec['gotcha'].prefix,
|
||||
'--with-tbb=%s' % spec['intel-tbb'].prefix,
|
||||
'--with-libdwarf=%s' % spec['libdwarf'].prefix,
|
||||
'--with-libmonitor=%s' % spec['libmonitor'].prefix,
|
||||
'--with-libunwind=%s' % spec['libunwind'].prefix,
|
||||
'--with-mbedtls=%s' % spec['mbedtls'].prefix,
|
||||
'--with-xerces=%s' % spec['xerces-c'].prefix,
|
||||
'--with-lzma=%s' % spec['xz'].prefix,
|
||||
'--with-zlib=%s' % spec['zlib'].prefix,
|
||||
@ -160,9 +167,15 @@ def configure_args(self):
|
||||
if '+cuda' in spec:
|
||||
args.append('--with-cuda=%s' % spec['cuda'].prefix)
|
||||
|
||||
if spec.satisfies('@:2020.09'):
|
||||
args.append('--with-gotcha=%s' % spec['gotcha'].prefix)
|
||||
|
||||
if spec.target.family == 'x86_64':
|
||||
args.append('--with-xed=%s' % spec['intel-xed'].prefix)
|
||||
|
||||
if spec.satisfies('@:2022.03'):
|
||||
args.append('--with-mbedtls=%s' % spec['mbedtls'].prefix)
|
||||
|
||||
if spec.satisfies('@2021.05.01:'):
|
||||
args.append('--with-memkind=%s' % spec['memkind'].prefix)
|
||||
|
||||
@ -174,8 +187,9 @@ def configure_args(self):
|
||||
if spec.satisfies('+rocm'):
|
||||
args.extend([
|
||||
'--with-rocm-hip=%s' % spec['hip'].prefix,
|
||||
'--with-rocm-dbgapi=%s' % spec['rocm-dbgapi'].prefix,
|
||||
'--with-rocm-hsa=%s' % spec['hsa-rocr-dev'].prefix,
|
||||
'--with-rocm-tracer=%s' % spec['roctracer-dev'].prefix,
|
||||
'--with-rocm-profiler=%s' % spec['rocprofiler-dev'].prefix,
|
||||
])
|
||||
|
||||
# MPI options for hpcprof-mpi.
|
||||
|
12
var/spack/repos/builtin/packages/hpctoolkit/python3.patch
Normal file
12
var/spack/repos/builtin/packages/hpctoolkit/python3.patch
Normal file
@ -0,0 +1,12 @@
|
||||
Some older revs call python instead of python3.
|
||||
|
||||
diff --git a/src/tool/hpcstruct/stringify.py b/src/tool/hpcstruct/stringify.py
|
||||
index 954f87593..c31984d21 100755
|
||||
--- a/src/tool/hpcstruct/stringify.py
|
||||
+++ b/src/tool/hpcstruct/stringify.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env python
|
||||
+#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
import re
|
Loading…
Reference in New Issue
Block a user