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