axom: Add 0.13.0, add new RAJA versions#3866
Conversation
ab7122c to
986a6fd
Compare
2c56f6e to
0d58244
Compare
|
Tagging: @white238 , @kennyweiss , @gberg617 |
| variant("adiak", default=False, when="@0.13.0:", description="Build with adiak") | ||
| variant("caliper", default=False, when="@0.13.0:", description="Build with caliper") |
There was a problem hiding this comment.
I've specified that the caliper and adiak variants to only be enabled 0.13.0 and onwards.
Otherwise, older spec's could have values set for all 3 with some configuration like +profiling~caliper~adiak
| values=any_combination_of("all", *_AXOM_COMPONENTS).with_default("all"), | ||
| ) | ||
|
|
||
| variant("int64", default=True, description="Use 64bit integers for IndexType") |
There was a problem hiding this comment.
I've left the default to True, same as the Axom repo recipe.
For reference: +int64/AXOM_USE_64BIT_INDEXTYPE has been defaulted to True since version 0.12.0 going off of the release notes: https://github.com/llnl/axom/blob/develop/RELEASE-NOTES.md
| with when("+adiak"): | ||
| for fwd in ("mpi", "shared"): | ||
| depends_on(f"adiak+{fwd}", when=f"+{fwd}") | ||
|
|
||
| with when("+caliper"): | ||
| for fwd in ("cuda", "rocm", "mpi", "shared"): | ||
| depends_on(f"caliper+{fwd}", when=f"+{fwd}") |
There was a problem hiding this comment.
In the axom repo recipe these were originally ^adiak/^caliper, but spack audit / CI was not happy with the dependency-check-based logic.
I've converted them to +adiak/+caliper for the 0.13.0 and onwards case, while +profiling keeps its pre-existing caliper/adiak logic for the 0.12.0 and older case.
There was a problem hiding this comment.
I think I had ^adiak/^caliper to support the case where these dependencies were activated by +profiling, but the user did not activate the adiak or caliper variants.
If this is better, I'm happy with it..
…orwarding for caliper/adiak respected between 0.12.0 and 0.13.0; restrict caliper/adiak variants to 0.13.0 and newer so you do not get caliper/adiak/profiling for older axom versions
0d58244 to
2b8e7ce
Compare
| with when("+adiak"): | ||
| for fwd in ("mpi", "shared"): | ||
| depends_on(f"adiak+{fwd}", when=f"+{fwd}") | ||
|
|
||
| with when("+caliper"): | ||
| for fwd in ("cuda", "rocm", "mpi", "shared"): | ||
| depends_on(f"caliper+{fwd}", when=f"+{fwd}") |
There was a problem hiding this comment.
I think I had ^adiak/^caliper to support the case where these dependencies were activated by +profiling, but the user did not activate the adiak or caliper variants.
If this is better, I'm happy with it..
becker33
left a comment
There was a problem hiding this comment.
One very minor future-proofing request, otherwise LGTM
Co-authored-by: Greg Becker <becker33@llnl.gov>
becker33
left a comment
There was a problem hiding this comment.
That might be the fastest review turnaround ever
Head branch was pushed to by a user without write access
We did have a fairly significant review on the original PR (llnl/axom#1740) w/ lots of good input from @tgamblin and others. |
This PR:
diffof upstream spack-packages recipe and axom v0.13.0 repo recipe:componentsto selectively build axom components.conduitvariantadiakandcalipervariants to replaceprofilingvariant for axom versions 0.13.0 and newerint64variantAdds newer RAJA versions required by latest Axom version.Done by RAJA: Add RAJA versions 2025.12.1 and 2025.12.2 #3804