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

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
PrevUpHomeNext

Function gatherv

boost::mpi::gatherv — Similar to boost::mpi::gather with the difference that the number of values to be send by non-root processes can vary.

Synopsis

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


template<typename T> 
  void gatherv(const communicator & comm, const std::vector< T > & in_values, 
               T * out_values, const std::vector< int > & sizes, 
               const std::vector< int > & displs, int root);
template<typename T> 
  void gatherv(const communicator & comm, const T * in_values, int in_size, 
               T * out_values, const std::vector< int > & sizes, 
               const std::vector< int > & displs, int root);
template<typename T> 
  void gatherv(const communicator & comm, const std::vector< T > & in_values, 
               int root);
template<typename T> 
  void gatherv(const communicator & comm, const T * in_values, int in_size, 
               int root);
template<typename T> 
  void gatherv(const communicator & comm, const T * in_values, int in_size, 
               T * out_values, const std::vector< int > & sizes, int root);
template<typename T> 
  void gatherv(const communicator & comm, const std::vector< T > & in_values, 
               T * out_values, const std::vector< int > & sizes, int root);

Description

Parameters:

comm

The communicator over which the gather will occur.

displs

A vector such that the i-th entry specifies the displacement (relative to out_values) from which to take the ingoing data at the root process. Overloaded versions for which displs is omitted assume that the data is to be placed contiguously at the root process.

in_values

The array of values to be transmitted by each process.

out_values

A pointer to storage that will be populated with the values from each process. For non-root processes, this parameter may be omitted. If it is still provided, however, it will be unchanged.

root

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

sizes

A vector containing the number of elements each non-root process will send.


PrevUpHomeNext