diff options
author | Danny Taller <66029857+dtaller@users.noreply.github.com> | 2020-11-18 11:52:21 -0800 |
---|---|---|
committer | Tamara Dahlgren <dahlgren1@llnl.gov> | 2021-02-17 17:07:14 -0800 |
commit | c42ce439e44f5a8261fdd9d5e4374a0dc26fa71e (patch) | |
tree | 0027fb5c71ac9fc87c888f7eeb82da0327faef03 /var/spack/repos/builtin/packages/umpire/package.py | |
parent | d6bd95db2ebe932e4db7f36eab26a187a34c415a (diff) | |
download | spack-c42ce439e44f5a8261fdd9d5e4374a0dc26fa71e.tar.gz spack-c42ce439e44f5a8261fdd9d5e4374a0dc26fa71e.tar.bz2 spack-c42ce439e44f5a8261fdd9d5e4374a0dc26fa71e.tar.xz spack-c42ce439e44f5a8261fdd9d5e4374a0dc26fa71e.zip |
hip support for umpire, chai, raja, camp (#19715)
* create HipPackage base class and do some refactoring
* comments and added conflict to raja for openmp with hip
Diffstat (limited to 'var/spack/repos/builtin/packages/umpire/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/umpire/package.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/umpire/package.py b/var/spack/repos/builtin/packages/umpire/package.py index 6b39aad5f6..14eed00747 100644 --- a/var/spack/repos/builtin/packages/umpire/package.py +++ b/var/spack/repos/builtin/packages/umpire/package.py @@ -7,7 +7,7 @@ import llnl.util.lang as lang import llnl.util.tty as tty -class Umpire(CMakePackage, CudaPackage): +class Umpire(CMakePackage, CudaPackage, HipPackage): """An application-focused API for memory management on NUMA & GPU architectures""" @@ -61,6 +61,14 @@ class Umpire(CMakePackage, CudaPackage): depends_on('cmake@3.9:', when='+cuda', type='build') depends_on('blt', type='build') + + # variants +hip and amdgpu_targets are not automatically passed to + # dependencies, so do it manually. + depends_on('camp+hip', when='+hip') + amdgpu_targets = HipPackage.amd_gputargets_list() + for val in amdgpu_targets: + depends_on('camp amdgpu_target=%s' % val, when='amdgpu_target=%s' % val) + depends_on('camp') conflicts('+numa', when='@:0.3.2') @@ -70,7 +78,6 @@ class Umpire(CMakePackage, CudaPackage): spec = self.spec options = [] - options.append("-DBLT_SOURCE_DIR={0}".format(spec['blt'].prefix)) options.append("-Dcamp_DIR={0}".format(spec['camp'].prefix)) @@ -90,6 +97,15 @@ class Umpire(CMakePackage, CudaPackage): else: options.append('-DENABLE_CUDA=Off') + if '+hip' in spec: + arch = self.spec.variants['amdgpu_target'].value + options.extend([ + '-DENABLE_HIP=ON', + '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix), + '-DHIP_HIPCC_FLAGS=--amdgpu-target={0}'.format(arch)]) + else: + options.append('-DENABLE_HIP=OFF') + options.append('-DENABLE_C={0}'.format( 'On' if '+c' in spec else 'Off')) |