------------------------------------------------------------------
MPI_BARRIER(comm)
------------------------------------------------------------------
IN | comm | Коммуникатор (указатель) |
void MPI::Comm::Barrier() const = 0
Для MPI-2 comm
может быть интеркоммуникатором или
интракоммуникатором. Если comm
- интеркоммуникатор, барьер
выполняется для всех процессов в интеркоммуникаторе. В этом случае, все
процессы в локальной группе интеркоммуникатора могут выйти из барьера,
когда все процессы в удаленной группе войдут в барьер.
------------------------------------------------------------------
MPI_SCAN(sendbuf, recvbuf, count, datatype, op, comm)
------------------------------------------------------------------
IN | sendbuf | Стартовый адрес буфера передачи (по выбору) | ||||
OUT | recvbuf | Стартовый адрес буфера приема (по выбору) | ||||
IN | count | Количество элементов во входном буфере | ||||
IN | datatype | Тип данных элементов входного буфера (указатель) | ||||
IN | op | Операция (указатель) | ||||
IN | comm | Коммуникатор (указатель) |
Опция in-place
для интракоммуникаторов указывается передачей
MPI_IN_PLACE
в качестве аргумента sendbuf
. В этом случае,
входные данные берутся из буфера приема и замещаются выходными данными.
Эта операция не допустима для интеркоммуникаторов.