Skip to content

Commit 156edff

Browse files
Update versions for RAJA, CHAI, Umpire and camp (spack#25528)
1 parent 6d484a0 commit 156edff

File tree

6 files changed

+101
-50
lines changed

6 files changed

+101
-50
lines changed

share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ spack:
186186
- amrex +cuda cuda_arch=70
187187
# - axom +cuda cuda_arch=70 ^umpire@4.1.2 ~shared
188188
- caliper +cuda cuda_arch=70
189-
- chai +cuda ~benchmarks ~tests cuda_arch=70 ^umpire@4.1.2 ~shared
189+
- chai +cuda ~benchmarks ~tests cuda_arch=70 ^umpire~shared+cuda
190190
- ginkgo +cuda cuda_arch=70
191191
- hpx +cuda cuda_arch=70
192192
- kokkos +cuda +wrapper cuda_arch=70
@@ -225,11 +225,11 @@ spack:
225225
- archer
226226
- argobots
227227
- ascent
228-
- axom ^umpire@4.1.2
228+
- axom ^umpire@5.0.1 ^raja@0.13.0
229229
- bolt
230230
- cabana
231231
- caliper
232-
- chai ~benchmarks ~tests ^umpire@4.1.2
232+
- chai ~benchmarks ~tests
233233
- conduit
234234
- darshan-runtime
235235
- darshan-util

share/spack/gitlab/cloud_pipelines/stacks/radiuss/spack.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ spack:
2424
# Note skipping spot since no spack package for it
2525
- radiuss:
2626
- ascent # ^conduit@0.6.0
27-
- axom
27+
- axom ^umpire@5.0.1 ^raja@0.13.0
2828
- blt
2929
- caliper
3030
#- care ## ~benchmarks ~examples ~tests

var/spack/repos/builtin/packages/camp/package.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ class Camp(CMakePackage, CudaPackage, ROCmPackage):
1616
git = "https://github.com/LLNL/camp.git"
1717
url = "https://github.com/LLNL/camp/archive/v0.1.0.tar.gz"
1818

19+
maintainers = ['trws']
20+
1921
version('master', branch='master', submodules='True')
22+
version('0.2.2', sha256='194d38b57e50e3494482a7f94940b27f37a2bee8291f2574d64db342b981d819')
2023
version('0.1.0', sha256='fd4f0f2a60b82a12a1d9f943f8893dc6fe770db493f8fae5ef6f7d0c439bebcc')
2124

2225
# TODO: figure out gtest dependency and then set this default True.

var/spack/repos/builtin/packages/chai/package.py

Lines changed: 46 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,11 @@ class Chai(CMakePackage, CudaPackage, ROCmPackage):
1414
homepage = "https://github.com/LLNL/CHAI"
1515
git = "https://github.com/LLNL/CHAI.git"
1616

17+
maintainers = ['davidbeckingsale']
18+
1719
version('develop', branch='develop', submodules=True)
18-
version('master', branch='main', submodules=True)
20+
version('main', branch='main', submodules=True)
21+
version('2.4.0', tag='v2.4.0', submodules=True)
1922
version('2.3.0', tag='v2.3.0', submodules=True)
2023
version('2.2.2', tag='v2.2.2', submodules=True)
2124
version('2.2.1', tag='v2.2.1', submodules=True)
@@ -32,29 +35,53 @@ class Chai(CMakePackage, CudaPackage, ROCmPackage):
3235
variant('raja', default=False, description='Build plugin for RAJA')
3336
variant('benchmarks', default=False, description='Build benchmarks.')
3437
variant('examples', default=True, description='Build examples.')
38+
variant('openmp', default=False, description='Build using OpenMP')
3539
# TODO: figure out gtest dependency and then set this default True
3640
# and remove the +tests conflict below.
3741
variant('tests', default=False, description='Build tests')
3842

3943
depends_on('cmake@3.8:', type='build')
4044
depends_on('cmake@3.9:', type='build', when="+cuda")
4145

42-
depends_on('blt@0.4.0:', type='build', when='@2.3.1:')
43-
depends_on('blt@:0.3.6', type='build', when='@:2.3.0')
46+
depends_on('blt@0.4.1:', type='build', when='@2.4.0:')
47+
depends_on('blt@0.4.0:', type='build', when='@2.3.0')
48+
depends_on('blt@0.3.6:', type='build', when='@:2.2.2')
4449

4550
depends_on('umpire')
46-
depends_on('raja', when="+raja")
47-
48-
depends_on('umpire+cuda', when="+cuda")
49-
depends_on('raja+cuda', when="+raja+cuda")
50-
51-
# variants +rocm and amdgpu_targets are not automatically passed to
52-
# dependencies, so do it manually.
53-
depends_on('umpire+rocm', when='+rocm')
54-
depends_on('raja+rocm', when="+raja+rocm")
55-
for val in ROCmPackage.amdgpu_targets:
56-
depends_on('umpire amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
57-
depends_on('raja amdgpu_target=%s' % val, when='+raja amdgpu_target=%s' % val)
51+
depends_on('umpire@6.0.0', when="@2.4.0")
52+
depends_on('umpire@4.1.2', when="@2.2.0:2.3.0")
53+
depends_on('umpire@main', when='@main')
54+
55+
with when('+cuda'):
56+
depends_on('umpire+cuda')
57+
for sm_ in CudaPackage.cuda_arch_values:
58+
depends_on('umpire+cuda cuda_arch={0}'.format(sm_),
59+
when='cuda_arch={0}'.format(sm_))
60+
61+
with when('+rocm'):
62+
depends_on('umpire+rocm')
63+
for arch in ROCmPackage.amdgpu_targets:
64+
depends_on('umpire+rocm amdgpu_target={0}'.format(arch),
65+
when='amdgpu_target={0}'.format(arch))
66+
67+
with when('+raja'):
68+
depends_on('raja~openmp', when='~openmp')
69+
depends_on('raja+openmp', when='+openmp')
70+
depends_on('raja@0.14.0', when="@2.4.0")
71+
depends_on('raja@0.13.0', when="@2.3.0")
72+
depends_on('raja@0.12.0', when="@2.2.0:2.2.2")
73+
depends_on('raja@main', when='@main')
74+
75+
with when('+cuda'):
76+
depends_on('raja+cuda')
77+
for sm_ in CudaPackage.cuda_arch_values:
78+
depends_on('raja+cuda cuda_arch={0}'.format(sm_),
79+
when='cuda_arch={0}'.format(sm_))
80+
with when('+rocm'):
81+
depends_on('raja+rocm')
82+
for arch in ROCmPackage.amdgpu_targets:
83+
depends_on('raja+rocm amdgpu_target={0}'.format(arch),
84+
when='amdgpu_target={0}'.format(arch))
5885

5986
conflicts('+benchmarks', when='~tests')
6087

@@ -64,9 +91,13 @@ def cmake_args(self):
6491
options = []
6592
options.append('-DBLT_SOURCE_DIR={0}'.format(spec['blt'].prefix))
6693

94+
options.append(self.define_from_variant('ENABLE_OPENMP', 'openmp'))
95+
6796
if '+cuda' in spec:
6897
options.extend([
6998
'-DENABLE_CUDA=ON',
99+
'-DCMAKE_CUDA_SEPARABLE_COMPILATION=On',
100+
'-DCUDA_SEPARABLE_COMPILATION=On',
70101
'-DCUDA_TOOLKIT_ROOT_DIR=' + spec['cuda'].prefix])
71102

72103
if not spec.satisfies('cuda_arch=none'):

var/spack/repos/builtin/packages/raja/package.py

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,20 @@
33
#
44
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
55

6+
from spack import *
7+
68

79
class Raja(CMakePackage, CudaPackage, ROCmPackage):
810
"""RAJA Parallel Framework."""
911

1012
homepage = "http://software.llnl.gov/RAJA/"
1113
git = "https://github.com/LLNL/RAJA.git"
1214

15+
maintainers = ['davidbeckingsale']
16+
1317
version('develop', branch='develop', submodules='True')
1418
version('main', branch='main', submodules='True')
19+
version('0.14.0', tag='v0.14.0', submodules='True')
1520
version('0.13.0', tag='v0.13.0', submodules='True')
1621
version('0.12.1', tag='v0.12.1', submodules="True")
1722
version('0.12.0', tag='v0.12.0', submodules="True")
@@ -37,23 +42,26 @@ class Raja(CMakePackage, CudaPackage, ROCmPackage):
3742
# and remove the +tests conflict below.
3843
variant('tests', default=False, description='Build tests')
3944

40-
depends_on('blt@0.4.0:', type='build', when='@0.13.1:')
41-
depends_on('blt@:0.3.6', type='build', when='@:0.13.0')
42-
43-
# variants +rocm and amdgpu_targets are not automatically passed to
44-
# dependencies, so do it manually.
45-
depends_on('camp+rocm', when='+rocm')
46-
for val in ROCmPackage.amdgpu_targets:
47-
depends_on('camp amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
48-
49-
depends_on('camp')
50-
depends_on('camp@master', when='@develop')
51-
depends_on('camp+cuda', when='+cuda')
52-
for sm_ in CudaPackage.cuda_arch_values:
53-
depends_on('camp cuda_arch={0}'.format(sm_),
54-
when='cuda_arch={0}'.format(sm_))
55-
56-
conflicts('+openmp', when='+rocm')
45+
depends_on('blt')
46+
depends_on('blt@0.4.1:', type='build', when='@0.14.0:')
47+
depends_on('blt@0.4.0:', type='build', when='@0.13.0')
48+
depends_on('blt@0.3.6:', type='build', when='@:0.12.0')
49+
50+
depends_on('camp@0.2.2', when='@0.14.0:')
51+
depends_on('camp@0.1.0', when='@0.12.0:0.13.0')
52+
53+
with when('+rocm @0.12.0:'):
54+
depends_on('camp+rocm')
55+
for arch in ROCmPackage.amdgpu_targets:
56+
depends_on('camp+rocm amdgpu_target={0}'.format(arch),
57+
when='amdgpu_target={0}'.format(arch))
58+
conflicts('+openmp')
59+
60+
with when('+cuda @0.12.0:'):
61+
depends_on('camp+cuda')
62+
for sm_ in CudaPackage.cuda_arch_values:
63+
depends_on('camp +cuda cuda_arch={0}'.format(sm_),
64+
when='cuda_arch={0}'.format(sm_))
5765

5866
def cmake_args(self):
5967
spec = self.spec

var/spack/repos/builtin/packages/umpire/package.py

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
import llnl.util.tty as tty
99

10+
from spack import *
11+
1012

1113
class Umpire(CMakePackage, CudaPackage, ROCmPackage):
1214
"""An application-focused API for memory management on NUMA & GPU
@@ -19,6 +21,7 @@ class Umpire(CMakePackage, CudaPackage, ROCmPackage):
1921

2022
version('develop', branch='develop', submodules=True)
2123
version('main', branch='main', submodules=True)
24+
version('6.0.0', tag='v6.0.0', submodules=True)
2225
version('5.0.1', tag='v5.0.1', submodules=True)
2326
version('5.0.0', tag='v5.0.0', submodules=True)
2427
version('4.1.2', tag='v4.1.2', submodules=True)
@@ -64,21 +67,26 @@ class Umpire(CMakePackage, CudaPackage, ROCmPackage):
6467
depends_on('cmake@3.8:', type='build')
6568
depends_on('cmake@3.9:', when='+cuda', type='build')
6669

67-
depends_on('blt@0.4.0:', type='build', when='@4.1.3:')
68-
depends_on('blt@:0.3.6', type='build', when='@:4.1.2')
70+
depends_on('blt@0.4.1:', type='build', when='@6.0.0:')
71+
depends_on('blt@0.4.0:', type='build', when='@4.1.3:5.0.1')
72+
depends_on('blt@0.3.6:', type='build', when='@:4.1.2')
73+
74+
depends_on('camp', when='@5.0.0:')
75+
depends_on('camp@0.2.2', when='@6.0.0:')
76+
depends_on('camp@0.1.0', when='@5.0.0:5.0.1')
6977

70-
# variants +rocm and amdgpu_targets are not automatically passed to
71-
# dependencies, so do it manually.
72-
depends_on('camp+rocm', when='+rocm')
73-
for val in ROCmPackage.amdgpu_targets:
74-
depends_on('camp amdgpu_target=%s' % val, when='amdgpu_target=%s' % val)
78+
with when('@5.0.0:'):
79+
with when('+cuda'):
80+
depends_on('camp+cuda')
81+
for sm_ in CudaPackage.cuda_arch_values:
82+
depends_on('camp+cuda cuda_arch={0}'.format(sm_),
83+
when='cuda_arch={0}'.format(sm_))
7584

76-
depends_on('camp')
77-
depends_on('camp@master', when='@develop')
78-
depends_on('camp+cuda', when='+cuda')
79-
for sm_ in CudaPackage.cuda_arch_values:
80-
depends_on('camp cuda_arch={0}'.format(sm_),
81-
when='cuda_arch={0}'.format(sm_))
85+
with when('+rocm'):
86+
depends_on('camp+rocm')
87+
for arch_ in ROCmPackage.amdgpu_targets:
88+
depends_on('camp+rocm amdgpu_target={0}'.format(arch_),
89+
when='amdgpu_target={0}'.format(arch_))
8290

8391
conflicts('+numa', when='@:0.3.2')
8492
conflicts('~c', when='+fortran', msg='Fortran API requires C API')
@@ -92,7 +100,8 @@ def cmake_args(self):
92100

93101
options = []
94102
options.append("-DBLT_SOURCE_DIR={0}".format(spec['blt'].prefix))
95-
options.append("-Dcamp_DIR={0}".format(spec['camp'].prefix))
103+
if spec.satisfies('@5.0.0:'):
104+
options.append("-Dcamp_DIR={0}".format(spec['camp'].prefix))
96105

97106
if '+cuda' in spec:
98107
options.extend([

0 commit comments

Comments
 (0)