summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark W. Krentel <krentel@rice.edu>2022-04-25 09:40:00 -0500
committerGitHub <noreply@github.com>2022-04-25 16:40:00 +0200
commit878e6b6712f246eeafb0495cb5fff3dabe0cab16 (patch)
treeffa4a12bc350f3a87b84d6ce705b2ff9095dc0aa
parentaeba9daea68b42252cdd6ad1906fcc7fdf33845f (diff)
downloadspack-878e6b6712f246eeafb0495cb5fff3dabe0cab16.tar.gz
spack-878e6b6712f246eeafb0495cb5fff3dabe0cab16.tar.bz2
spack-878e6b6712f246eeafb0495cb5fff3dabe0cab16.tar.xz
spack-878e6b6712f246eeafb0495cb5fff3dabe0cab16.zip
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
-rw-r--r--var/spack/repos/builtin/packages/hpctoolkit/package.py46
-rw-r--r--var/spack/repos/builtin/packages/hpctoolkit/python3.patch12
2 files changed, 42 insertions, 16 deletions
diff --git a/var/spack/repos/builtin/packages/hpctoolkit/package.py b/var/spack/repos/builtin/packages/hpctoolkit/package.py
index 3961446b9d..87c63be137 100644
--- a/var/spack/repos/builtin/packages/hpctoolkit/package.py
+++ b/var/spack/repos/builtin/packages/hpctoolkit/package.py
@@ -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 @@ class Hpctoolkit(AutotoolsPackage):
'--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 @@ class Hpctoolkit(AutotoolsPackage):
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 @@ class Hpctoolkit(AutotoolsPackage):
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.
diff --git a/var/spack/repos/builtin/packages/hpctoolkit/python3.patch b/var/spack/repos/builtin/packages/hpctoolkit/python3.patch
new file mode 100644
index 0000000000..ac829bdac6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hpctoolkit/python3.patch
@@ -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