Update versions for RAJA, CHAI, Umpire and camp (#25528)
This commit is contained in:
parent
6d484a055a
commit
156edffec2
@ -186,7 +186,7 @@ spack:
|
|||||||
- amrex +cuda cuda_arch=70
|
- amrex +cuda cuda_arch=70
|
||||||
# - axom +cuda cuda_arch=70 ^umpire@4.1.2 ~shared
|
# - axom +cuda cuda_arch=70 ^umpire@4.1.2 ~shared
|
||||||
- caliper +cuda cuda_arch=70
|
- caliper +cuda cuda_arch=70
|
||||||
- chai +cuda ~benchmarks ~tests cuda_arch=70 ^umpire@4.1.2 ~shared
|
- chai +cuda ~benchmarks ~tests cuda_arch=70 ^umpire~shared+cuda
|
||||||
- ginkgo +cuda cuda_arch=70
|
- ginkgo +cuda cuda_arch=70
|
||||||
- hpx +cuda cuda_arch=70
|
- hpx +cuda cuda_arch=70
|
||||||
- kokkos +cuda +wrapper cuda_arch=70
|
- kokkos +cuda +wrapper cuda_arch=70
|
||||||
@ -225,11 +225,11 @@ spack:
|
|||||||
- archer
|
- archer
|
||||||
- argobots
|
- argobots
|
||||||
- ascent
|
- ascent
|
||||||
- axom ^umpire@4.1.2
|
- axom ^umpire@5.0.1 ^raja@0.13.0
|
||||||
- bolt
|
- bolt
|
||||||
- cabana
|
- cabana
|
||||||
- caliper
|
- caliper
|
||||||
- chai ~benchmarks ~tests ^umpire@4.1.2
|
- chai ~benchmarks ~tests
|
||||||
- conduit
|
- conduit
|
||||||
- darshan-runtime
|
- darshan-runtime
|
||||||
- darshan-util
|
- darshan-util
|
||||||
|
@ -24,7 +24,7 @@ spack:
|
|||||||
# Note skipping spot since no spack package for it
|
# Note skipping spot since no spack package for it
|
||||||
- radiuss:
|
- radiuss:
|
||||||
- ascent # ^conduit@0.6.0
|
- ascent # ^conduit@0.6.0
|
||||||
- axom
|
- axom ^umpire@5.0.1 ^raja@0.13.0
|
||||||
- blt
|
- blt
|
||||||
- caliper
|
- caliper
|
||||||
#- care ## ~benchmarks ~examples ~tests
|
#- care ## ~benchmarks ~examples ~tests
|
||||||
|
@ -16,7 +16,10 @@ class Camp(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
git = "https://github.com/LLNL/camp.git"
|
git = "https://github.com/LLNL/camp.git"
|
||||||
url = "https://github.com/LLNL/camp/archive/v0.1.0.tar.gz"
|
url = "https://github.com/LLNL/camp/archive/v0.1.0.tar.gz"
|
||||||
|
|
||||||
|
maintainers = ['trws']
|
||||||
|
|
||||||
version('master', branch='master', submodules='True')
|
version('master', branch='master', submodules='True')
|
||||||
|
version('0.2.2', sha256='194d38b57e50e3494482a7f94940b27f37a2bee8291f2574d64db342b981d819')
|
||||||
version('0.1.0', sha256='fd4f0f2a60b82a12a1d9f943f8893dc6fe770db493f8fae5ef6f7d0c439bebcc')
|
version('0.1.0', sha256='fd4f0f2a60b82a12a1d9f943f8893dc6fe770db493f8fae5ef6f7d0c439bebcc')
|
||||||
|
|
||||||
# TODO: figure out gtest dependency and then set this default True.
|
# TODO: figure out gtest dependency and then set this default True.
|
||||||
|
@ -14,8 +14,11 @@ class Chai(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
homepage = "https://github.com/LLNL/CHAI"
|
homepage = "https://github.com/LLNL/CHAI"
|
||||||
git = "https://github.com/LLNL/CHAI.git"
|
git = "https://github.com/LLNL/CHAI.git"
|
||||||
|
|
||||||
|
maintainers = ['davidbeckingsale']
|
||||||
|
|
||||||
version('develop', branch='develop', submodules=True)
|
version('develop', branch='develop', submodules=True)
|
||||||
version('master', branch='main', submodules=True)
|
version('main', branch='main', submodules=True)
|
||||||
|
version('2.4.0', tag='v2.4.0', submodules=True)
|
||||||
version('2.3.0', tag='v2.3.0', submodules=True)
|
version('2.3.0', tag='v2.3.0', submodules=True)
|
||||||
version('2.2.2', tag='v2.2.2', submodules=True)
|
version('2.2.2', tag='v2.2.2', submodules=True)
|
||||||
version('2.2.1', tag='v2.2.1', submodules=True)
|
version('2.2.1', tag='v2.2.1', submodules=True)
|
||||||
@ -32,6 +35,7 @@ class Chai(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
variant('raja', default=False, description='Build plugin for RAJA')
|
variant('raja', default=False, description='Build plugin for RAJA')
|
||||||
variant('benchmarks', default=False, description='Build benchmarks.')
|
variant('benchmarks', default=False, description='Build benchmarks.')
|
||||||
variant('examples', default=True, description='Build examples.')
|
variant('examples', default=True, description='Build examples.')
|
||||||
|
variant('openmp', default=False, description='Build using OpenMP')
|
||||||
# TODO: figure out gtest dependency and then set this default True
|
# TODO: figure out gtest dependency and then set this default True
|
||||||
# and remove the +tests conflict below.
|
# and remove the +tests conflict below.
|
||||||
variant('tests', default=False, description='Build tests')
|
variant('tests', default=False, description='Build tests')
|
||||||
@ -39,22 +43,45 @@ class Chai(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
depends_on('cmake@3.8:', type='build')
|
depends_on('cmake@3.8:', type='build')
|
||||||
depends_on('cmake@3.9:', type='build', when="+cuda")
|
depends_on('cmake@3.9:', type='build', when="+cuda")
|
||||||
|
|
||||||
depends_on('blt@0.4.0:', type='build', when='@2.3.1:')
|
depends_on('blt@0.4.1:', type='build', when='@2.4.0:')
|
||||||
depends_on('blt@:0.3.6', type='build', when='@:2.3.0')
|
depends_on('blt@0.4.0:', type='build', when='@2.3.0')
|
||||||
|
depends_on('blt@0.3.6:', type='build', when='@:2.2.2')
|
||||||
|
|
||||||
depends_on('umpire')
|
depends_on('umpire')
|
||||||
depends_on('raja', when="+raja")
|
depends_on('umpire@6.0.0', when="@2.4.0")
|
||||||
|
depends_on('umpire@4.1.2', when="@2.2.0:2.3.0")
|
||||||
|
depends_on('umpire@main', when='@main')
|
||||||
|
|
||||||
depends_on('umpire+cuda', when="+cuda")
|
with when('+cuda'):
|
||||||
depends_on('raja+cuda', when="+raja+cuda")
|
depends_on('umpire+cuda')
|
||||||
|
for sm_ in CudaPackage.cuda_arch_values:
|
||||||
|
depends_on('umpire+cuda cuda_arch={0}'.format(sm_),
|
||||||
|
when='cuda_arch={0}'.format(sm_))
|
||||||
|
|
||||||
# variants +rocm and amdgpu_targets are not automatically passed to
|
with when('+rocm'):
|
||||||
# dependencies, so do it manually.
|
depends_on('umpire+rocm')
|
||||||
depends_on('umpire+rocm', when='+rocm')
|
for arch in ROCmPackage.amdgpu_targets:
|
||||||
depends_on('raja+rocm', when="+raja+rocm")
|
depends_on('umpire+rocm amdgpu_target={0}'.format(arch),
|
||||||
for val in ROCmPackage.amdgpu_targets:
|
when='amdgpu_target={0}'.format(arch))
|
||||||
depends_on('umpire amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
|
|
||||||
depends_on('raja amdgpu_target=%s' % val, when='+raja amdgpu_target=%s' % val)
|
with when('+raja'):
|
||||||
|
depends_on('raja~openmp', when='~openmp')
|
||||||
|
depends_on('raja+openmp', when='+openmp')
|
||||||
|
depends_on('raja@0.14.0', when="@2.4.0")
|
||||||
|
depends_on('raja@0.13.0', when="@2.3.0")
|
||||||
|
depends_on('raja@0.12.0', when="@2.2.0:2.2.2")
|
||||||
|
depends_on('raja@main', when='@main')
|
||||||
|
|
||||||
|
with when('+cuda'):
|
||||||
|
depends_on('raja+cuda')
|
||||||
|
for sm_ in CudaPackage.cuda_arch_values:
|
||||||
|
depends_on('raja+cuda cuda_arch={0}'.format(sm_),
|
||||||
|
when='cuda_arch={0}'.format(sm_))
|
||||||
|
with when('+rocm'):
|
||||||
|
depends_on('raja+rocm')
|
||||||
|
for arch in ROCmPackage.amdgpu_targets:
|
||||||
|
depends_on('raja+rocm amdgpu_target={0}'.format(arch),
|
||||||
|
when='amdgpu_target={0}'.format(arch))
|
||||||
|
|
||||||
conflicts('+benchmarks', when='~tests')
|
conflicts('+benchmarks', when='~tests')
|
||||||
|
|
||||||
@ -64,9 +91,13 @@ def cmake_args(self):
|
|||||||
options = []
|
options = []
|
||||||
options.append('-DBLT_SOURCE_DIR={0}'.format(spec['blt'].prefix))
|
options.append('-DBLT_SOURCE_DIR={0}'.format(spec['blt'].prefix))
|
||||||
|
|
||||||
|
options.append(self.define_from_variant('ENABLE_OPENMP', 'openmp'))
|
||||||
|
|
||||||
if '+cuda' in spec:
|
if '+cuda' in spec:
|
||||||
options.extend([
|
options.extend([
|
||||||
'-DENABLE_CUDA=ON',
|
'-DENABLE_CUDA=ON',
|
||||||
|
'-DCMAKE_CUDA_SEPARABLE_COMPILATION=On',
|
||||||
|
'-DCUDA_SEPARABLE_COMPILATION=On',
|
||||||
'-DCUDA_TOOLKIT_ROOT_DIR=' + spec['cuda'].prefix])
|
'-DCUDA_TOOLKIT_ROOT_DIR=' + spec['cuda'].prefix])
|
||||||
|
|
||||||
if not spec.satisfies('cuda_arch=none'):
|
if not spec.satisfies('cuda_arch=none'):
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Raja(CMakePackage, CudaPackage, ROCmPackage):
|
class Raja(CMakePackage, CudaPackage, ROCmPackage):
|
||||||
"""RAJA Parallel Framework."""
|
"""RAJA Parallel Framework."""
|
||||||
@ -10,8 +12,11 @@ class Raja(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
homepage = "http://software.llnl.gov/RAJA/"
|
homepage = "http://software.llnl.gov/RAJA/"
|
||||||
git = "https://github.com/LLNL/RAJA.git"
|
git = "https://github.com/LLNL/RAJA.git"
|
||||||
|
|
||||||
|
maintainers = ['davidbeckingsale']
|
||||||
|
|
||||||
version('develop', branch='develop', submodules='True')
|
version('develop', branch='develop', submodules='True')
|
||||||
version('main', branch='main', submodules='True')
|
version('main', branch='main', submodules='True')
|
||||||
|
version('0.14.0', tag='v0.14.0', submodules='True')
|
||||||
version('0.13.0', tag='v0.13.0', submodules='True')
|
version('0.13.0', tag='v0.13.0', submodules='True')
|
||||||
version('0.12.1', tag='v0.12.1', submodules="True")
|
version('0.12.1', tag='v0.12.1', submodules="True")
|
||||||
version('0.12.0', tag='v0.12.0', submodules="True")
|
version('0.12.0', tag='v0.12.0', submodules="True")
|
||||||
@ -37,23 +42,26 @@ class Raja(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
# and remove the +tests conflict below.
|
# and remove the +tests conflict below.
|
||||||
variant('tests', default=False, description='Build tests')
|
variant('tests', default=False, description='Build tests')
|
||||||
|
|
||||||
depends_on('blt@0.4.0:', type='build', when='@0.13.1:')
|
depends_on('blt')
|
||||||
depends_on('blt@:0.3.6', type='build', when='@:0.13.0')
|
depends_on('blt@0.4.1:', type='build', when='@0.14.0:')
|
||||||
|
depends_on('blt@0.4.0:', type='build', when='@0.13.0')
|
||||||
|
depends_on('blt@0.3.6:', type='build', when='@:0.12.0')
|
||||||
|
|
||||||
# variants +rocm and amdgpu_targets are not automatically passed to
|
depends_on('camp@0.2.2', when='@0.14.0:')
|
||||||
# dependencies, so do it manually.
|
depends_on('camp@0.1.0', when='@0.12.0:0.13.0')
|
||||||
depends_on('camp+rocm', when='+rocm')
|
|
||||||
for val in ROCmPackage.amdgpu_targets:
|
|
||||||
depends_on('camp amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
|
|
||||||
|
|
||||||
depends_on('camp')
|
with when('+rocm @0.12.0:'):
|
||||||
depends_on('camp@master', when='@develop')
|
depends_on('camp+rocm')
|
||||||
depends_on('camp+cuda', when='+cuda')
|
for arch in ROCmPackage.amdgpu_targets:
|
||||||
for sm_ in CudaPackage.cuda_arch_values:
|
depends_on('camp+rocm amdgpu_target={0}'.format(arch),
|
||||||
depends_on('camp cuda_arch={0}'.format(sm_),
|
when='amdgpu_target={0}'.format(arch))
|
||||||
when='cuda_arch={0}'.format(sm_))
|
conflicts('+openmp')
|
||||||
|
|
||||||
conflicts('+openmp', when='+rocm')
|
with when('+cuda @0.12.0:'):
|
||||||
|
depends_on('camp+cuda')
|
||||||
|
for sm_ in CudaPackage.cuda_arch_values:
|
||||||
|
depends_on('camp +cuda cuda_arch={0}'.format(sm_),
|
||||||
|
when='cuda_arch={0}'.format(sm_))
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
import llnl.util.tty as tty
|
import llnl.util.tty as tty
|
||||||
|
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Umpire(CMakePackage, CudaPackage, ROCmPackage):
|
class Umpire(CMakePackage, CudaPackage, ROCmPackage):
|
||||||
"""An application-focused API for memory management on NUMA & GPU
|
"""An application-focused API for memory management on NUMA & GPU
|
||||||
@ -19,6 +21,7 @@ class Umpire(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
|
|
||||||
version('develop', branch='develop', submodules=True)
|
version('develop', branch='develop', submodules=True)
|
||||||
version('main', branch='main', submodules=True)
|
version('main', branch='main', submodules=True)
|
||||||
|
version('6.0.0', tag='v6.0.0', submodules=True)
|
||||||
version('5.0.1', tag='v5.0.1', submodules=True)
|
version('5.0.1', tag='v5.0.1', submodules=True)
|
||||||
version('5.0.0', tag='v5.0.0', submodules=True)
|
version('5.0.0', tag='v5.0.0', submodules=True)
|
||||||
version('4.1.2', tag='v4.1.2', submodules=True)
|
version('4.1.2', tag='v4.1.2', submodules=True)
|
||||||
@ -64,21 +67,26 @@ class Umpire(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
depends_on('cmake@3.8:', type='build')
|
depends_on('cmake@3.8:', type='build')
|
||||||
depends_on('cmake@3.9:', when='+cuda', type='build')
|
depends_on('cmake@3.9:', when='+cuda', type='build')
|
||||||
|
|
||||||
depends_on('blt@0.4.0:', type='build', when='@4.1.3:')
|
depends_on('blt@0.4.1:', type='build', when='@6.0.0:')
|
||||||
depends_on('blt@:0.3.6', type='build', when='@:4.1.2')
|
depends_on('blt@0.4.0:', type='build', when='@4.1.3:5.0.1')
|
||||||
|
depends_on('blt@0.3.6:', type='build', when='@:4.1.2')
|
||||||
|
|
||||||
# variants +rocm and amdgpu_targets are not automatically passed to
|
depends_on('camp', when='@5.0.0:')
|
||||||
# dependencies, so do it manually.
|
depends_on('camp@0.2.2', when='@6.0.0:')
|
||||||
depends_on('camp+rocm', when='+rocm')
|
depends_on('camp@0.1.0', when='@5.0.0:5.0.1')
|
||||||
for val in ROCmPackage.amdgpu_targets:
|
|
||||||
depends_on('camp amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
|
|
||||||
|
|
||||||
depends_on('camp')
|
with when('@5.0.0:'):
|
||||||
depends_on('camp@master', when='@develop')
|
with when('+cuda'):
|
||||||
depends_on('camp+cuda', when='+cuda')
|
depends_on('camp+cuda')
|
||||||
for sm_ in CudaPackage.cuda_arch_values:
|
for sm_ in CudaPackage.cuda_arch_values:
|
||||||
depends_on('camp cuda_arch={0}'.format(sm_),
|
depends_on('camp+cuda cuda_arch={0}'.format(sm_),
|
||||||
when='cuda_arch={0}'.format(sm_))
|
when='cuda_arch={0}'.format(sm_))
|
||||||
|
|
||||||
|
with when('+rocm'):
|
||||||
|
depends_on('camp+rocm')
|
||||||
|
for arch_ in ROCmPackage.amdgpu_targets:
|
||||||
|
depends_on('camp+rocm amdgpu_target={0}'.format(arch_),
|
||||||
|
when='amdgpu_target={0}'.format(arch_))
|
||||||
|
|
||||||
conflicts('+numa', when='@:0.3.2')
|
conflicts('+numa', when='@:0.3.2')
|
||||||
conflicts('~c', when='+fortran', msg='Fortran API requires C API')
|
conflicts('~c', when='+fortran', msg='Fortran API requires C API')
|
||||||
@ -92,7 +100,8 @@ def cmake_args(self):
|
|||||||
|
|
||||||
options = []
|
options = []
|
||||||
options.append("-DBLT_SOURCE_DIR={0}".format(spec['blt'].prefix))
|
options.append("-DBLT_SOURCE_DIR={0}".format(spec['blt'].prefix))
|
||||||
options.append("-Dcamp_DIR={0}".format(spec['camp'].prefix))
|
if spec.satisfies('@5.0.0:'):
|
||||||
|
options.append("-Dcamp_DIR={0}".format(spec['camp'].prefix))
|
||||||
|
|
||||||
if '+cuda' in spec:
|
if '+cuda' in spec:
|
||||||
options.extend([
|
options.extend([
|
||||||
|
Loading…
Reference in New Issue
Block a user