NAME¶
icetCreateMPICommunicator -- Converts an MPI communicator to an IceT
communicator.
Synopsis¶
#include <IceTMPI.h>
IceTCommunicator icetCreateMPICommunicator( |
|
|
MPI_Comm mpi_comm ); |
|
|
Description¶
IceT requires a communicator in order to perform correctly. An
application is free to build its own communicator, but many will simply prefer
to use MPI, which is a well established parallel communication tool. Thus,
IceT comes with an implementation of
IceTCommunicator that uses
the MPI communication layer underneath.
icetCreateMPICommunicator is used to create an
IceTCommunicator
that uses the
mpi_comm MPI communication object. The resulting
IceTCommunicator shares the same process group and process rank as the
original
MPI_Comm communicator.
mpi_comm is duplicated, which has two consiquences. First, all process in
mpi_comm's group may need to call
icetCreateMPICommunicator in
order for any of them to proceed (depending on the MPI implementation).
Second,
mpi_comm and the resulting
IceTCommunicator are
decoupled from each other. Communications in one cannot affect another. Also,
one communicator may be destroyed without affecting the other.
Return Value¶
An
IceTCommunicator with the same process group and rank as
mpi_comm. The communicator may be destroyed with a call to
icetDestroyMPICommunicator.
Errors¶
None.
Warnings¶
None.
Bugs¶
All MPI errors are ignored.
Copyright¶
Copyright (C)2003 Sandia Corporation
Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S.
Government retains certain rights in this software.
This source code is released under the New BSD License.
See Also¶
icetDestroyMPICommunicator(3),
icetCreateContext(3)