Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating of RAJA TPL on LC #3507

Open
cmcrook5 opened this issue Jan 2, 2025 · 1 comment
Open

Updating of RAJA TPL on LC #3507

cmcrook5 opened this issue Jan 2, 2025 · 1 comment
Assignees
Labels
type: bug Something isn't working type: new A new issue has been created and requires attention

Comments

@cmcrook5
Copy link
Contributor

cmcrook5 commented Jan 2, 2025

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

@cmcrook5 cmcrook5 added type: bug Something isn't working type: new A new issue has been created and requires attention labels Jan 2, 2025
@wrtobin
Copy link
Collaborator

wrtobin commented Jan 2, 2025

@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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working type: new A new issue has been created and requires attention
Projects
None yet
Development

No branches or pull requests

4 participants