Function broadcast
boost::mpi::broadcast — Broadcast a value from a root process to all other processes.
Synopsis
template<typename T>
void broadcast(const communicator & comm, T & value, int root);
template<typename T>
void broadcast(const communicator & comm, T * values, int n, int root);
template<typename T>
void broadcast(const communicator & comm, skeleton_proxy< T > & value,
int root);
template<typename T>
void broadcast(const communicator & comm, const skeleton_proxy< T > & value,
int root);
Description
<broadcast
>— это коллективный алгоритм, который переносит значение из произвольного<root
>процесса в любой другой процесс, являющийся частью данного коммуникатора. Алгоритм<broadcast
>может передавать любое Сериализируемое значение, значения, которые связаны с типами данных MPI, упакованными архивами, скелетами и содержанием скелетов; см.<send
>примитивный для коммуникаторов полный список. Тип<T
>должен быть одинаковым для всех процессов, которые являются частью коммуникатора<comm
>, если не передаются упакованные архивы: с упакованными архивами корень отправляет<packed_oarchive
>
или<packed_skeleton_oarchive
>
, тогда как другие процессы получают<packed_iarchive
>
или<packed_skeleton_iarchve
>соответственно.
Когда тип<T
>имеет связанный тип данных MPI, эта процедура вызывает<MPI_Bcast
>для выполнения трансляции.
Параметры: | <comm > | Коммуникатор, над которым будет происходить трансляция. | <root > | Идентификатор ранга/процесса процесса, который будет передавать значение. | <value > | Значение (или значения, если<n >предусмотрено) должно быть передано (если ранг<comm >равен<root >) или получено (если ранг<comm >не равен<root >). Когда<value >будет<skeleton_proxy > , будет транслироваться только скелет объекта. В этом случае<root >будет строить скелет из объекта, помогающего в прокси, и все некорни будут изменять объекты, удерживаемые в их прокси, на основе скелета, отправленного из корня. |
|