Hi all,

I recently compiled the siesta master branch using cmake. It is running fine in 
serial, but there is a problem when running with parallel:

...
dipole: A dipole layer will be introduced in the vacuum
dipole: region to compensate the system dipole
Dipole moment in unit cell =       0.0000       0.0000       0.0000 D
Electric field for dipole correction =     0.000000     0.000000    -0.000000 
eV/Ang/e
Intel MKL FATAL ERROR: Cannot load symbol MKLMPI_Get_wrappers.
Intel MKL FATAL ERROR: Cannot load symbol MKLMPI_Get_wrappers.
Intel MKL FATAL ERROR: Cannot load symbol MKLMPI_Get_wrappers.
Intel MKL FATAL ERROR: Cannot load symbol MKLMPI_Get_wrappers.
Intel MKL FATAL ERROR: Cannot load symbol MKLMPI_Get_wrappers.
Intel MKL FATAL ERROR: Cannot load symbol MKLMPI_Get_wrappers.
Intel MKL FATAL ERROR: Cannot load symbol MKLMPI_Get_wrappers.
Intel MKL FATAL ERROR: Cannot load symbol MKLMPI_Get_wrappers.
Intel MKL FATAL ERROR: Cannot load symbol MKLMPI_Get_wrappers.
Intel MKL FATAL ERROR: Cannot load symbol MKLMPI_Get_wrappers.


The error gets printed once by each core. I'm not sure if this is an error 
introduced due to incorrect linking when compiling (the compilation went quite 
smoothly), or it is just an error from running the code incorrectly. When I run 
the code, I have

module load intel/23.0.0-fasrc01 intel-mkl/23.0.0-fasrc01 openmpi/4.1.4-fasrc01
export LD_LIBRARY_PATH=/path/to/siesta/Docs/build/lib:$LD_LIBRARY_PATH

in my submission script, and am running with mpirun -np $numtasks siesta ...

I compiled with cmake using the following options:

module load intel/23.0.0-fasrc01 intel-mkl/23.0.0-fasrc01 openmpi/4.1.4-fasrc01

# Point to libraries
LIBXC_ROOT=/path/to/lib/libs-libxc
GRIDXC_ROOT=/path/to/siesta/External/libgridxc
XMLF90_ROOT=/path/to/siesta/External/xmlf90
PSML_ROOT=/path/to/siesta/External/libpsml
LIBFDF_ROOT=/path/to/siesta/External/libfdf


### MKL STUFF ###
MKLPATH=${MKLROOT}/lib/intel64
SCALAPACK=${MKLPATH}/libmkl_scalapack_lp64.a
BLACS=${MKLPATH}/libmkl_blacs_openmpi_lp64.a
LAPACK=${MKLPATH}/libmkl_lapack95_lp64.a

cmake -S. -Bbuild \
      -DCMAKE_INSTALL_PREFIX=/path/to/siesta/siesta/build \
      
-DCMAKE_PREFIX_PATH="$XMLF90_ROOT;$PSML_ROOT;$GRIDXC_ROOT;$LIBXC_ROOT;$LIBFDF_ROOT"
 \
      -DSCALAPACK_LIBRARY="-lmkl_scalapack_lp64;$BLACS" \
      -DWITH_LIBXC=ON \
      -DWITH_LUA=OFF -DWITH_FLOOK=OFF \
      -DLAPACK_LIBRARY="$LAPACK" \
      -DLIBFDF_FIND_METHOD=source \
      -DLIBFDF_SOURCE_DIR=/path/to/siesta/External/libfdf \
      -DNetCDF_ROOT=/path/to/siesta/Docs/build \


Can anyone advise?

Thanks,

Daniel Bennettt

-- 
SIESTA is supported by the Spanish Research Agency (AEI) and by the European 
H2020 MaX Centre of Excellence (http://www.max-centre.eu/)

Responder a