Dave,

yes, this is for two MPI tasks only.

the MPI subroutine could/should return with an error if the communicator is
made of more than 3 tasks.
an other option would be to abort at initialization time if no collective
modules provide a barrier implementation.
or maybe the tuned module should have not used the two_procs algorithm, but
what should it do instead ? use a default one ? do not implement barrier ?
warn/error the end user ?

note the error message might be a bit obscure.

I write "could" because you explicitly forced something that cannot work,
and I am not convinced OpenMPI should protect end users from themselves,
even when they make an honest mistake.

George, any thoughts ?

Cheers,

Gilles

On Wednesday, May 4, 2016, Dave Love <d.l...@liverpool.ac.uk> wrote:

> With OMPI 1.10.2 and earlier on Infiniband, IMB generally spins with no
> output for the barrier benchmark if you run it with algorithm 5, i.e.
>
>   mpirun --mca coll_tuned_use_dynamic_rules 1 --mca
> coll_tuned_barrier_algorithm 5 IMB-MPI1 barrier
>
> This is "two proc only".  Does that mean it will only work for two
> processes (which seems true experimentally)?  If so, should it report an
> error if used with more?
> _______________________________________________
> users mailing list
> us...@open-mpi.org <javascript:;>
> Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users
> Link to this post:
> http://www.open-mpi.org/community/lists/users/2016/05/29081.php
>

Reply via email to