icetCreateMPICommunicator(3)
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.