Updating of RAJA TPL on LC
@CusiniM is already working on this.
Since Jan 2, 2025.
- Dominant language
- C++
- Stars
- 287
- Forks
- 109
- Avg merge
- 4d 41m
- Merged PRs (30d)
- 5
Description
Describe the bug
I am receiving a compilation error compiling the feature/crook5/gpuDevelopMergeFY25 development branch of GEOS for the material point method solver. The solver includes RAJA multireduction operations which through templates appear to reference the power_of_2_mod function in the RAJA /usr/gapps/GEOSX/thirdPartyLibs/2024-11-14/install-lassen-clang-13-cuda-11-release/raja/include/RAJA/util/math.hpp source file. This template is not marked with RAJA_HOST_DEVICE so I receive the following compilation error when trying to build geosx on lassen.
/usr/gapps/GEOSX/thirdPartyLibs/2024-11-14/install-lassen-clang-13-cuda-11-release/raja/include/RAJA/policy/cuda/multi_reduce.hpp(165): error: calling a constexpr __host__ function("power_of_2_mod") from a __device__ function("grid_multi_reduce_shmem_to_global_atomic") is not allowed. The experimental flag '--expt-relaxed-constexpr' can be used to allow this.
detected during:
instantiation of "void RAJA::cuda::MultiReduceBlockThenGridAtomicHostInit_Data<Combiner, T, tuning>::finalize_device() [with Combiner=RAJA::reduce::sum<geos::real64>, T=geos::real64, tuning=RAJA::cuda::MultiReduceTuning<RAJA::cuda::multi_reduce_algorithm::init_host_combine_block_atomic_then_grid_atomic, RAJA::cuda::AtomicReplicationTuning<RAJA::cuda::SharedAtomicReplicationMaxPow2Concretizer<RAJA::cuda::ConstantPreferredReplicationConcretizer<16UL>>, RAJA::cuda::IndexFlatten<RAJA::cuda::IndexGlobal<RAJA::named_dim::x, 0, -1>, RAJA::cuda::IndexGlobal<RAJA::named_dim::y, 0, -1>, RAJA::cuda::IndexGlobal<RAJA::named_dim::z, 0, -1>>, RAJA::GetOffsetRight<int, int, int>>, RAJA::cuda::AtomicReplicationTuning<RAJA::cuda::GlobalAtomicReplicationMinPow2Concretizer<RAJA::cuda::ConstantPreferredReplicationConcretizer<2UL>>, RAJA::cuda::IndexFlatten<RAJA::cuda::IndexDivide<32UL, RAJA::cuda::IndexFlatten<RAJA::cuda::IndexGlobal<RAJA::named_dim::x, 0, -1>, RAJA::cuda::IndexGlobal<RAJA::named_dim::y, 0, -1>, RAJA::cuda::IndexGlobal<RAJA::named_dim::z, 0, -1>>>, RAJA::cuda::IndexFlatten<RAJA::cuda::IndexGlobal<RAJA::named_dim::x, -1, 0>, RAJA::cuda::IndexGlobal<RAJA::named_dim::y, -1, 0>, RAJA::cuda::IndexGlobal<RAJA::named_dim::z, -1, 0>>>, RAJA::GetOffsetLeft<int, int, int>>>]"
Platform (please complete the following information):
LLNL/lassen
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.