geodynamics/sw4

Cannot compile against RAJA (error: namespace "RAJA::resources" has no member "EventProxy")

Opened this issue · 2 comments

I am trying to compile raja branch of sw4, using Open MPI 5.0.3, GCC 8.4 (RHEL5 distributed) and CUDA 11.

From the compile configurations provided under the configs folder, I selected make.inc.cuda11gcc8.3.1c++17 as make.inc.

Unfortunately, regardless of the external version of RAJA I provide to the build, I get C++ error related to a missing member of "RAJA::resources":

/bin/mkdir -p optimize
cd optimize;  nvcc -I../src -O3 -use_fast_math -DENABLE_MPI_TIMING_BARRIER=1 -DSW4_STAGED_MPI_BUFFERS=1 -DUSE_DIRECT_INVERSE=1 -I /home/vesso/sw4/adds/lapack/3/3.12.0-gcc/include  --Werror cross-execution-space-call -DCAMP_USE_PLATFORM_DEFAULT_STREAM=1 -DSW4_GIT_VERSION=\""FrontierKPP-37-g508f"\"  -DSW4_USE_UMPIRE=1 -I /home/vesso/sw4/adds/umpire/3/3.0.0-nvidia//include -DENABLE_FFTW=1 -I /home/vesso/sw4/adds/fftw/3/3.3.10-gcc/include -DUSE_HDF5=1 -I /home/vesso/sw4/adds/hdf5/1/1.14.4.3-nvidia/include -Xcompiler="" -I/home/vesso/sw4/apps/proj/6/6.3.2-gcc/include -DSW4_USE_CMEM=1 -DSW4_GHCOF_NO_GP_IS_ZERO=1 -DSW4_EXPT_3=1 -DDISABLE_PREFETCH  --extended-lambda -ccbin mpicxx -std=c++17 -restrict -arch=sm_70 -I /include -I/home/vesso/sw4/adds/RAJA/0/0.14.1-gcc//include  --x cu  -DENABLE_CUDA -dc  -DENABLE_PROJ4  -DSW4_NOOMP -I../src/double -I/include -DUSE_HDF5 -c ../src/main.C
/home/vesso/sw4/adds/RAJA/0/0.14.1-gcc//include/RAJA/policy/MultiPolicy.hpp(100): error: namespace "RAJA::resources" has no member "EventProxy"

/home/vesso/sw4/adds/RAJA/0/0.14.1-gcc//include/RAJA/policy/MultiPolicy.hpp(100): error: expected a ";"

Can anyone share the magic combinations of compilers and versions that can compile the sw4 raja branch code? Do I need to downgrade GCC to 8.3? Any published compatibility matrix that shows the right combination of compilers and external libraries will be of great help.

Thanks in advance!

We are using RAJA 2023.06.1, Umpire 2023.06.0, CUDA 12.2, and gcc 12.3
Try modifying make.raja.perlmutter.gcc accordingly for your make.inc

Thank you. We are into that right now.