Mpi4py on V2 generation nodes

Hi,

I am using mpi4py on V3 to V6 nodes just fine. However, I am somewhat struggling with V2 nodes.

Here’s a minimal example:

#! /bin/bash

#SBATCH --time=5:00
#SBATCH --partition=mono-shared-EL7
#SBATCH --ntasks=1
#SBATCH --output=test_MPI.%j-%2t-%a.out
#SBATCH --mail-type=ALL
#SBATCH --mail-user=patrick.remy@unige.ch
#SBATCH --constraint="V2"

module load GCCcore/9.3.0 GCC/9.3.0 Python/3.8.2 OpenMPI/4.0.3 SciPy-bundle/2020.03-Python-3.8.2

srun -n $SLURM_NTASKS -o job%j-%2t-%a.log python3 -c "from mpi4py import MPI; comm = MPI.COMM_WORLD; print(comm.Get_rank())"

I get the following error message:

[node112:6465] FATAL: UCX library was compiled with avx but CPU does not support it.

V3 to V6 nodes give me the correct result:

0

Thanks for your help

AVX is an instruction set which are available on node more modern than V2.
If you really want to use the library on older node like V2 you will need to recompile the library on a V2 node or using the -march=core2 flag. However, you may have a performance penalty by recompiling the software to be compatible with older system.

Ok, will do. It would be a pity not to use any of the V2 nodes just because of that.

Thx