Another proposal

Tony Skjellum (tony@Aurora.CS.MsState.Edu)
Sun, 2 Feb 1997 22:24:02 -0600 (CST)

In order to guarantee that the number of synchronizations associated
with comm_dups are limited, a generlized form of comm_dup and comm_free
are suggested. These will be useful in conjunction with two-phase
collective operations, and with highly nested parallel calls, and with
threads. Cost-effective multiple communicator duplication offers a
politically more pallatable approach than tags seem to do.

MPI_COMM_MDUP(oldcomm, n, copyflag, commarray)
IN oldcomm // old communicator (handle)
IN n // number of copies (integer)
IN copyflag // if false, no copy constructors called (logical)
OUT commarray // array of communicators duplicated from oldcomm (handles)

MPI_COMM_MFREE(oldcomms, n)
INOUT oldcomms // old communicator array (handles)
IN n // number of communicators to be freed
the array of oldcomms must all share the same underlying group or
congruent groups, or else the call is erroneous.


Anthony Skjellum, PhD, Associate Professor of Computer Science;
Mississippi State University, Department of Computer Science & NSF ERC
Butler, Rm 300, PO Box 9637, Corner of Perry&Barr, Mississippi State,MS 39762
(601)325-8435 FAX: (601)325-8997; http://www.erc.msstate.edu/~tony;
"Persistence is fertile." ; e-mail: tony@cs.msstate.edu; Try MPI!