summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorMark W. Krentel <krentel@rice.edu>2021-02-16 01:47:37 -0600
committerGitHub <noreply@github.com>2021-02-16 08:47:37 +0100
commitf9831b5f65566c0a586b662a2144ff731841eaa8 (patch)
treec760a3c7aa7a505db6633fdc10225ad02a07dd99 /var
parentc1cc4ab1b871925864e84481cfada52c22fde470 (diff)
downloadspack-f9831b5f65566c0a586b662a2144ff731841eaa8.tar.gz
spack-f9831b5f65566c0a586b662a2144ff731841eaa8.tar.bz2
spack-f9831b5f65566c0a586b662a2144ff731841eaa8.tar.xz
spack-f9831b5f65566c0a586b662a2144ff731841eaa8.zip
hpctoolkit: pre-release update (#21613)
Update some things in hpctoolkit to prepare for a 2021.02.x release: 1. allow binutils to be built with +nls. 2. require libmonitor to be built with +dlopen. 3. allow rocm in more than just develop branch. 4. remove some conflicting setenv's in hpctoolkit module.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/hpctoolkit/package.py42
1 files changed, 32 insertions, 10 deletions
diff --git a/var/spack/repos/builtin/packages/hpctoolkit/package.py b/var/spack/repos/builtin/packages/hpctoolkit/package.py
index 170e714e55..956857c264 100644
--- a/var/spack/repos/builtin/packages/hpctoolkit/package.py
+++ b/var/spack/repos/builtin/packages/hpctoolkit/package.py
@@ -4,6 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
+from spack.util.environment import SetEnv
class Hpctoolkit(AutotoolsPackage):
@@ -20,6 +21,7 @@ class Hpctoolkit(AutotoolsPackage):
version('develop', branch='develop')
version('master', branch='master')
+ # version('2021.02.10', commit='9eea97d9aaff38f6460f25957cd1588093fb19c7')
version('2020.08.03', commit='d9d13c705d81e5de38e624254cf0875cce6add9a')
version('2020.07.21', commit='4e56c780cffc53875aca67d6472a2fb3678970eb')
version('2020.06.12', commit='ac6ae1156e77d35596fea743ed8ae768f7222f19')
@@ -56,16 +58,17 @@ class Hpctoolkit(AutotoolsPackage):
description='Support CUDA on NVIDIA GPUs (2020.03.01 or later).')
variant('rocm', default=False,
- description='Support ROCM on AMD GPUs (develop branch only, '
- 'requires ROCM as external packages.')
+ description='Support ROCM on AMD GPUs, requires ROCM as '
+ 'external packages (2021.02.10 or later).')
boost_libs = (
'+atomic +chrono +date_time +filesystem +system +thread +timer'
' +graph +regex +shared +multithreaded visibility=global'
)
- depends_on('binutils+libiberty~nls', type='link', when='@2020.04.00:')
- depends_on('binutils@:2.33.1+libiberty~nls', type='link', when='@:2020.03.99')
+ depends_on('binutils@:2.34 +libiberty', type='link', when='@2021.00:')
+ depends_on('binutils@:2.34 +libiberty~nls', type='link', when='@2020.04:2020.99')
+ depends_on('binutils@:2.33.1 +libiberty~nls', type='link', when='@:2020.03.99')
depends_on('boost' + boost_libs)
depends_on('bzip2+shared', type='link')
depends_on('dyninst@9.3.2:')
@@ -73,7 +76,8 @@ class Hpctoolkit(AutotoolsPackage):
depends_on('gotcha@1.0.3:')
depends_on('intel-tbb+shared')
depends_on('libdwarf')
- depends_on('libmonitor+hpctoolkit')
+ depends_on('libmonitor+hpctoolkit~dlopen', when='@2021.00:')
+ depends_on('libmonitor+hpctoolkit', when='@:2020.99')
depends_on('libunwind@1.4: +xz+pic', when='@2020.09.00:')
depends_on('libunwind@1.4: +xz', when='@:2020.08.99')
depends_on('mbedtls+pic')
@@ -88,9 +92,9 @@ class Hpctoolkit(AutotoolsPackage):
depends_on('libpfm4', when='~papi')
depends_on('mpi', when='+mpi')
- depends_on('hip', when='@develop+rocm')
- depends_on('rocm-dbgapi', when='@develop+rocm')
- depends_on('roctracer-dev', when='@develop+rocm')
+ depends_on('hip', when='+rocm')
+ depends_on('rocm-dbgapi', when='+rocm')
+ depends_on('roctracer-dev', when='+rocm')
conflicts('%gcc@:4.7.99', when='^dyninst@10.0.0:',
msg='hpctoolkit requires gnu gcc 4.8.x or later')
@@ -98,9 +102,12 @@ class Hpctoolkit(AutotoolsPackage):
conflicts('%gcc@:4.99.99', when='@2020.03.01:',
msg='hpctoolkit requires gnu gcc 5.x or later')
- conflicts('+cuda', when='@2018.0.0:2019.99.99',
+ conflicts('+cuda', when='@:2019.99.99',
msg='cuda requires 2020.03.01 or later')
+ conflicts('+rocm', when='@:2020.99.99',
+ msg='rocm requires 2021.02.10 or later')
+
flag_handler = AutotoolsPackage.build_system_flags
def configure_args(self):
@@ -134,7 +141,7 @@ class Hpctoolkit(AutotoolsPackage):
else:
args.append('--with-perfmon=%s' % spec['libpfm4'].prefix)
- if spec.satisfies('@develop+rocm'):
+ if spec.satisfies('+rocm'):
args.extend([
'--with-rocm-hip=%s' % spec['hip'].prefix,
'--with-rocm-dbgapi=%s' % spec['rocm-dbgapi'].prefix,
@@ -154,3 +161,18 @@ class Hpctoolkit(AutotoolsPackage):
args.append('--enable-all-static')
return args
+
+ # Remove setenv of ROCM, HIP, etc from the module file. Loading
+ # the hpctoolkit module is not relevant to building a GPU app and
+ # some variables (HIP_PATH) intefere with building the app.
+ def setup_run_environment(self, env):
+ keeplist = []
+ for elt in env.env_modifications:
+ if not (isinstance(elt, SetEnv)
+ and (elt.name.find('ROCM') >= 0
+ or elt.name.find('HIP') >= 0
+ or elt.name.find('CUDA') >= 0)):
+ keeplist.append(elt)
+
+ env.clear()
+ env.env_modifications = keeplist