From: Raja Daoud Subject: Re: MPI_ALLOC_MEM & no mem To: treumann@XXXXXXXXXX Date: Mon, 03 Aug 1998 12:02:15 CDT Cc: mpi-comments@XXXXXXXXXXXXX,mpi-core@XXXXXXXXXXX In-Reply-To: <5010400025536207000002L072*@XXX> X-Mailer: Elm [revision: 111.1] Sender: owner-mpi-core@XXXXXXXXXXX Precedence: bulk X-UIDL: 5e8dd9e482e2fb5274d539c13206e3f9 My answer to Eric is based on two assumptions as to what users really want. I could be wrong, so we'll need to hear from users: 1) users want a safe run with the default error handler and no checking: MPI_Alloc_mem(....); /* use mem if call didn't abort, won't SEGV */ 2) users want to be able to re-call alloc if MPI_ERRORS_RETURN and call failed to find requested memory: MPI_Errhandler_set(MPI_COMM_WOLRD, MPI_ERRORS_RETURN); while ( ! done) { if (MPI_Alloc_mem(...) == MPI_SUCCESS) break; /* shrink mem size, set "done" */ } If users want both (1) and (2), and we know that implementors can easily provide them, then why let anything get in the way? The QoI clause protects implementors from users. If users want a solution that implementors can easily deliver (and in most cases is already delivered in current implementations) then we shouldn't allow the QoI clause to stop us. If on the other hand users don't want (1) and (2), then forget what I proposed. The other solutions presented would also work. --Raja -=- Raja Daoud Hewlett-Packard Co. raja@XXXXXXXXXX http://www.hp.com/go/mpi