Function gather
boost::mpi::gather — Gather the values stored at every process into a vector at the root process.
Synopsis
template<typename T>
void gather(const communicator & comm, const T & in_value,
std::vector< T > & out_values, int root);
template<typename T>
void gather(const communicator & comm, const T & in_value, T * out_values,
int root);
template<typename T>
void gather(const communicator & comm, const T & in_value, int root);
template<typename T>
void gather(const communicator & comm, const T * in_values, int n,
std::vector< T > & out_values, int root);
template<typename T>
void gather(const communicator & comm, const T * in_values, int n,
T * out_values, int root);
template<typename T>
void gather(const communicator & comm, const T * in_values, int n, int root);
Description
<gather
>— это коллективный алгоритм, который собирает значения, хранящиеся в каждом процессе, в вектор значений в процессе<root
>. Этот вектор индексируется числом процесса, из которого произошло значение. Тип<T
>значений может быть любым типом, который является сериализуемым или имеет связанный тип данных MPI.
Когда тип<T
>имеет связанный тип данных MPI, эта процедура вызывает<MPI_Gather
>для сбора значений.
Параметры: | <comm > | Коммуникатор, над которым будет происходить сбор. | <in_value > | Значение, передаваемое каждым процессом. Для сбора массивов значений<in_values >указывает на хранение для значений<n*comm >.size(). | <out_values > | Вектор или указатель на хранилище, который будет заполнен значениями каждого процесса, проиндексированными идентификационным номером процесса. Если это вектор, он будет изменен соответствующим образом. Для некорневых процессов этот параметр может быть опущен. Однако, если он все же будет предоставлен, он останется неизменным. | <root > | Идентификационный номер процесса, который собирает значения. Это значение должно быть одинаковым для всех процессов. |
|