icetCreateMPICommunicator

Langue: en

Version: April 20, 2006 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

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 (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)