Open dqwu opened 1 year ago
As a workaround @dqwu has rebuilt ADIOS using the following modules/flags,
[modules] load craype-accel-amd-gfx90a and rocm/5.4.0 [CXXFLAGS]: add -fopenmp flag
@jayeshkrishna Recently, SCREAM developers made some changes for machine frontier-scream-gpu and compiler crayclang-scream:
Accordingly, ADIOS2 libs on Frontier need to be rebuilt with the same settings.
Note, we also need to override mpicc with MPICH_CC to rebuild ADIOS2. Otherwise, there are confirmed linking errors when building SCORPIO for SCREAM:
ld.lld: error: undefined symbol: __cray_sset_detect
>>> referenced by cm_util.c:65 (ADIOS2-2.9.1/thirdparty/EVPath/EVPath/cm_util.c:65)
>>> cm_util.c.o:(CMtrace_init) in archive adios2/2.9.1/cray-mpich-8.1.26/crayclang-scream-14.0.0/lib64/libadios2_evpath.a
>>> referenced by evp.c:1057 (ADIOS2-2.9.1/thirdparty/EVPath/EVPath/evp.c:1057)
Updated workaround to rebuild ADIOS2 lib on Frontier for SCREAM: [modules] load craype-accel-amd-gfx90a and rocm/5.1.0 [wrappers] mpicc/mpicxx/ftn [C compiler]: set MPICH_CC=/opt/rocm-5.1.0/bin/hipcc [C++ compiler]: set MPICH_CXX=/opt/rocm-5.1.0/bin/hipcc
This issue was initially reproduced on Frontier when building a scream ne1024 F case with ADIOS support.
The linker command fails on spio_finfo.exe One possible workaround: turn off CMake option PIO_ENABLE_TOOLS
This issue can also be reproduced on Frontier with a standalone SCORPIO build.
Linker error
Note, this issue is not reproducible if we configure and build ADIOS2 lib with the following settings: [modules] load craype-accel-amd-gfx90a and rocm/5.4.0 [CXXFLAGS]: add -fopenmp flag