You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
The text was updated successfully, but these errors were encountered:
@CusiniM@rrsettgast I've confirmed the function is appropriately decorated in the raja develop head, so updating the LC TPL installation with the newest raja should resolve this. (also the 2024-12-06 TPL install also doesn't have this function decorated).
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
The text was updated successfully, but these errors were encountered: