NAME
icetCreateMPICommunicator -- Converts an MPI communicator to an IceT
communicator.
Synopsis
#include <GL/ice-t_mpi.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, there is a non-exclusive
license for use of this work by or on behalf of the U.S. Government.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that this Notice and any statement
of authorship are reproduced on all copies.
See Also
icetDestroyMPICommunicator(3), icetCreateContext(3)
IceT Reference April 20, 2006 icetCreateMPICommunicator(3)