Newsgroups: comp.parallel.mpi
From: marr@dcs.ed.ac.uk (Marcus Marr)
Subject: Discarding Messages
Organization: Computer Systems Group, The University of Edinburgh
Date: Mon, 16 Jan 1995 16:33:03 GMT
Message-ID: <MARR.95Jan16163303@calvay.dcs.ed.ac.uk>


Is it possible for a process to discard a message that has been sent
to it without knowing its datatype?  

While the user's program knows the types of all the messages sent to
it, the discarding is done as part of a library function routine that
stops an ongoing communication/computation structure and cleans up any
messages that have been sent and not yet received.  The full range of
MPI basic and derived datatypes can be used for any of the
communications, so it is left to the user to ensure that all
communications have matching sends and receives.  The clean-up
function has no way of knowing the datatypes of the un-received
messages.


Ideally, I am looking for a function:

	int MPI_DISCARD(source,tag,comm)
		IN	source	rank of source (integer)
		IN	tag	message tag (integer)
		In	comm	communicator (handle)

	int MPI_Discard(int source, int tag, MPI_Comm comm);


Any suggestions, or arguments against such a function?

Marcus

