Software

Using mpiexec/mpirun with Intel MPI on Slurm

Intel MPI on Slurm batch system is configured to support PMI process manager. It is recommended to use srun as MPI program launcher. If you prefer using mpiexec/mpirun over Hydra process manager with Slurm,  please add following code to the batch script before running any MPI executable:

unset I_MPI_PMI_LIBRARY I_MPI_HYDRA_BOOTSTRAP
export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0   # the option -ppn only works if you set this before

Multiple definition error

GNU compiler versions 10+ may have C compiler errors like

/.libs/libmca_mtl_psm.a(mtl_psm_component.o): multiple definition of `mca_mtl_psm_component'

This is a common mistake in C is omitting extern when declaring a global variable in a header file. In previous GCC versions this error is ignored. GCC 10 defaults to -fno-common, which means a linker error will now be reported.  It is bypassable by appending the -fcommon to compilation flags.

Type mismatch error

GNU compiler versions 10+ may have Fortran compiler errors like

Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/REAL(8))

that result in a error response during configuration

Pages