Newsgroups: comp.parallel.mpi
From: rwhaley@cupid.cs.utk.edu (R Clint Whaley)
Subject: non-blocking error code
Organization: Computer Science Dept, University of Tennessee, Knoxville
Date: 21 Jun 1995 01:32:20 GMT
Message-ID: <3s7sr4INNndr@CS.UTK.EDU>


Hi,

I wondered if someone could help me out on problem that is common enough
that probably its in some FAQ somewhere that I have overlooked.  I am
using MPI for non-blocking communication.  The problem I want to handle
is that often, if enough non-blocking communication is issued, the system
runs out of resources, and further posts fail.  I have had this problem
using the IBM's MPL, and thinking machine's CMMD packages.  I solved the
problem there in a very simple fashion, and I would like to do the same
for MPI.

what I have in mind is something along the lines of:

   info = MPI_Isend(buff, length, dest, TAG, comm, &NBID);
   while(info != MPI_SUCCESS)
   {
      MPI_Error_class(info, &errclass);
      if (errclass != OutOfResources) ERROR_EXIT;
      info = MPI_Isend(buff, length, dest, TAG, comm, &NBID); 
   }


I.e., I want to keep trying until some resources become available.
I also don't want to keep trying if the error message is really not
the OutOfResources error.  So, does anyone know for sure what in what
error class such a error would lie?  The manual I have does not specify.
My best guess is MPI_ERR_INTERN, but I'd like to know if I can rely on
this or not.

Thanks,
Clint
-- 
*****************************************************************
R. Clint Whaley       rwhaley@cs.utk.edu      104 Ayres Hall
HOME: (615) 546-1981  OFFICE: (615) 974-8298  Knoxville TN, 37996
http://www.cs.utk.edu/~rwhaley/Clint.html

