Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Function scatter

boost::mpi::scatter — Scatter the values stored at the root to all processes within the communicator.

Synopsis

// In header: <boost/mpi/collectives.hpp>


template<typename T> 
  void scatter(const communicator & comm, const std::vector< T > & in_values, 
               T & out_value, int root);
template<typename T> 
  void scatter(const communicator & comm, const T * in_values, T & out_value, 
               int root);
template<typename T> 
  void scatter(const communicator & comm, T & out_value, int root);
template<typename T> 
  void scatter(const communicator & comm, const std::vector< T > & in_values, 
               T * out_values, int n, int root);
template<typename T> 
  void scatter(const communicator & comm, const T * in_values, T * out_values, 
               int n, int root);
template<typename T> 
  void scatter(const communicator & comm, T * out_values, int n, int root);

Description

scatter is a collective algorithm that scatters the values stored in the root process (inside a vector) to all of the processes in the communicator. The vector out_values (only significant at the root) is indexed by the process number to which the corresponding value will be sent. The type T of the values may be any type that is serializable or has an associated MPI data type.

When the type T has an associated MPI data type, this routine invokes MPI_Scatter to scatter the values.

Parameters:

comm

The communicator over which the scatter will occur.

in_values

A vector or pointer to storage that will contain the values to send to each process, indexed by the process rank. For non-root processes, this parameter may be omitted. If it is still provided, however, it will be unchanged.

out_value

The value received by each process. When scattering an array of values, out_values points to the n values that will be received by each process.

root

The process ID number that will scatter the values. This value must be the same on all processes.


PrevUpHomeNext