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

adios 2.10 and NVHPC on Perlmutter issues #4095

Closed
pnorbert opened this issue Mar 13, 2024 · 1 comment
Closed

adios 2.10 and NVHPC on Perlmutter issues #4095

pnorbert opened this issue Mar 13, 2024 · 1 comment
Milestone

Comments

@pnorbert
Copy link
Contributor

nvhpc compiler aborts on lib64/libadios2_fortran_mpi.so
branch: master

[ 97%] Linking CXX shared library ../../lib64/libadios2_fortran_mpi.so
cd /global/homes/p/pnorbert/ADIOS2/build.perlmutter.nvhpc/bindings/Fortran && /global/common/software/nersc/pm-2021q4/sw/cmake-3.22.0/bin/cmake -E cmake_link_script CMakeFiles/adios2_fortran_mpi.dir/link.txt --verbose=1
/opt/cray/pe/craype/2.7.30/bin/CC -fPIC -fast -O3 -DNDEBUG -Wl,--as-needed,-lcupti,-lcudart,--no-as-needed -L/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/cuda/12.2/targets/x86_64-linux/lib -L/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/cuda/12.2/nvvm/lib64 -L/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/cuda/12.2/extras/CUPTI/lib64 -L/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/cuda/12.2/extras/Debugger/lib64 -L/opt/nvidia/hpc_sdk/Linux_x86_64/23.9/math_libs/12.2/targets/x86_64-linux/lib -shared -Wl,-soname,libadios2_fortran_mpi.so.2.10 -o ../../lib64/libadios2_fortran_mpi.so.2.10.0 CMakeFiles/adios2_fortran_mpi.dir/modules/adios2_adios_init_mpi_smod.F90.o CMakeFiles/adios2_fortran_mpi.dir/modules/adios2_io_open_mpi_smod.F90.o CMakeFiles/adios2_fortran_mpi.dir/f2c/adios2_f2c_adios_mpi.cpp.o CMakeFiles/adios2_fortran_mpi.dir/f2c/adios2_f2c_io_mpi.cpp.o  -Wl,-rpath,/global/homes/p/pnorbert/ADIOS2/build.perlmutter.nvhpc/lib64: ../../lib64/libadios2_fortran.so.2.10.0 ../../lib64/libadios2_c_mpi.so.2.10.0 ../../lib64/libadios2_core_mpi.so.2.10.0 ../../lib64/libadios2_c.so.2.10.0 ../../lib64/libadios2_core.so.2.10.0
nvlink error   : Undefined reference to '_adios2_parameters_mod_21' in 'CMakeFiles/adios2_fortran_mpi.dir/modules/adios2_adios_init_mpi_smod.F90.o'
pgacclnk: child process exit status 2: /opt/nvidia/hpc_sdk/Linux_x86_64/23.9/compilers/bin/tools/nvdd
make[2]: *** [bindings/Fortran/CMakeFiles/adios2_fortran_mpi.dir/build.make:148: lib64/libadios2_fortran_mpi.so.2.10.0] Error 2

I don't seem to find where _adios2_parameters_mod_21 is even coming from.
nm bindings/Fortran/CMakeFiles/adios2_fortran_mpi.dir/modules/adios2_adios_init_mpi_smod.F90.o shows only U _adios2_parameters_mod_8_

Environment: Perlmutter

> module list

Currently Loaded Modules:
  1) craype-x86-milan                        8) gpu/1.0                     15) cray-hdf5/1.12.2.3  (io)
  2) libfabric/1.15.2.0                      9) nvidia/23.9         (g,c)   16) cray-netcdf/4.9.0.9 (io)
  3) craype-network-ofi                     10) craype/2.7.30       (c)     17) cudatoolkit/12.2    (g)
  4) xpmem/2.6.2-2.5_2.38__gd067c3f.shasta  11) cray-dsmml/0.2.2            18) cray-python/3.11.5  (dev)
  5) perftools-base/23.12.0                 12) cray-mpich/8.1.28   (mpi)   19) cmake/3.22.0        (buildtools)
  6) cpe/23.12                              13) cray-libsci/23.12.5 (math)
  7) craype-accel-nvidia80                  14) PrgEnv-nvidia/8.5.0 (cpe)
@pnorbert
Copy link
Contributor Author

This was a cmake issue. Using the default module cmake/3.22.0 has this problem, but using the newer cmake/3.24.3 module builds fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant