Hi,
The attached code (compiled with mpic++) will work as expected up to 15 MPI process, but will loop with 16 or more.
Apparently MPI_Improbe fails to find the message:
[alainm@pollux test]$ mpirun --version
Intel(R) MPI Library for Linux* OS, Version 2018 Update 3 Build 20180411 (id: 18329)
Copyright 2003-2018 Intel Corporation.
[alainm@pollux test]$
[alainm@pollux test]$ mpirun -n 15 ./truc
Proc 0 sent msg 2 to Proc 1
Proc 0 got msg 2 from proc 14
Proc 1 sent msg 2 to Proc 2
[...]
Proc 14 sent msg 2 to Proc 0
Proc 14 got msg 2 from proc 13
[alainm@pollux test]$
[alainm@pollux test]$ mpirun -n 16 ./truc | grep "Proc 10" # same output with other procs
Proc 9 sent msg 2 to Proc 10
Proc 10 sent msg 2 to Proc 11
Proc 10 haven't got msg 2 from proc 9 yet
Proc 10 haven't got msg 2 from proc 9 yet
Proc 10 haven't got msg 2 from proc 9 yet
[...]
Proc 10 haven't got msg 2 from proc 9 yet
[...]
The code work just fine with Open MPI.
Fun fact, running the code whit -check_mpi trigger the bug even with 2 proc.
Am I doing something wrong ?
Thanks,
Alain