Dear Gijsbert,

>Ideally I would like to check how many MPI_Isend messages have not been
processed yet, so that I can stop >sending messages if there are 'too many'
waiting. Is there a way to do this?


you can check number of message pending simply using MPI_Test function. It
return false if the request of message is in pending status. The difference
with MPI_Wait is in the behaviour of these two routines: MPI_Wait is
blocking, MPi_Test,  check and returns immediately.

Regards.

2010/5/11 Gijsbert Wiesenekker <gijsbert.wiesenek...@gmail.com>

> An OpenMPI program of mine that uses MPI_Isend and MPI_Irecv crashes after
> some non-reproducible time my Fedora Linux kernel (invalid opcode), which
> makes it hard to debug (there is no trace, even with the debug kernel, and
> if I run it under valgrind it does not crash).
> My guess is that the kernel crash is caused by OpenMPI running out if
> memory because too many MPI_Irecv messages have been sent but not been
> processed yet.
> My questions are:
> What does the OpenMPI specification say about the behaviour of MPI_Isend
> when many messages have been sent but have not been processed yet? Will it
> fail? Will it block until more memory becomes available (I hope not, because
> this would cause my program to deadlock)?
> Ideally I would like to check how many MPI_Isend messages have not been
> processed yet, so that I can stop sending messages if there are 'too many'
> waiting. Is there a way to do this?
>
> Regards,
> Gijsbert
>
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>


-- 
Ing. Gabriele Fatigati

Parallel programmer

CINECA Systems & Tecnologies Department

Supercomputing Group

Via Magnanelli 6/3, Casalecchio di Reno (BO) Italy

www.cineca.it                    Tel:   +39 051 6171722

g.fatigati [AT] cineca.it

Reply via email to