Function scatter
boost::mpi::scatter — Scatter the values stored at the root to all processes within the communicator.
Synopsis
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
>представляет собой коллективный алгоритм, который рассеивает значения, хранящиеся в процессе<root
>(внутри вектора), на все процессы в коммуникаторе. Вектор<out_values
>(значимый только при<root
>) индексируется номером процесса, на который будет отправлено соответствующее значение. Тип<T
>значений может быть любым типом, который является сериализуемым или имеет связанный тип данных MPI.
Когда тип<T
>имеет связанный тип данных MPI, эта процедура вызывает<MPI_Scatter
>для рассеивания значений.
Параметры: | <comm > | Коммуникатор, над которым произойдет рассеяние. | <in_values > | Вектор или указатель на хранилище, который будет содержать значения для отправки в каждый процесс, индексируемые рангом процесса. Для некорневых процессов этот параметр может быть опущен. Однако, если он все же будет предоставлен, он останется неизменным. | <out_value > | Значение, получаемое каждым процессом. При рассеянии массива значений<out_values >указывает на<n >значения, которые будут получены каждым процессом. | <root > | Идентификационный номер процесса, который рассеивает значения. Это значение должно быть одинаковым для всех процессов. |
|