Add interface for every MPI function call

Add interface for every MPI function call

There are some MPI calls that are not using the proper interfaces. Some of them because they are not using mpi_siesta module and others not importing all required interfaces. This solve a bug in matel_table.F90 and matel_ylm.F90, where the implicit interface had problems dealing with MPI_IN_PLACE communications. I found run time problems in these calls when siesta is compiled with intel 2023 and GNU 11.3.1.

I have compiled SIESTA with "-Wall -Wextra -Wimplicit-interface -fcheck=all" in order to show all places where the compiler is using an implicit interface for MPI calls. There are some parts of the code that was to checked:

ELPA=ON; PEXSI=OFF; ELSI=ON; FFTW=OFF DFTD3=ON; FLOOK=OFF; GRID_SP=OFF; WANNIER90=ON; ELSI_PEXSI=OFF; OPENMP=ON; MPI=ON

Details

Please detail what this MR introduces

  • Describe in details what this MR does? (link to the issue by writing # here)
  • Does this MR change the behaviour of any fdf-flags? If so, ensure this is documented in the manual
  • If new fdf-flags are added, please add thorough descriptions to the manual
  • create a new file in ./Changes/<MR-Number>.<TYPE>.md with content, see e.g. ./Changes/README.md for details.
  • if this breaks compatibility, add mentions to the Docs/compatibility.tex

Why is it needed

It solves a bug. Fixes #564 (closed)

Authors

Co-authored-by: rgrima rogeli.grima@bsc.es

Edited by Rogeli Grima

Merge request reports

Loading