next up previous contents
Next: Примеры использования MPI_SCAN Up: Коллективные взаимодействия процессов Previous: Функция Reduce-Scatter   Contents

Функция Scan

Синтаксис функции MPI_SCAN представлен ниже.

MPI_SCAN(sendbuf, recvbuf, count, datatype, op, comm)

IN sendbuf начальный адрес буфера посылки (альтернатива)
OUT recvbuf начальный адрес буфера приема (альтернатива)
IN count количество элементов в буфере приема (целое)
IN datatype тип данных элементов в буфере приема (дескриптор)
IN op операция (дескриптор)
IN comm коммуникатор (дескриптор)

int MPI_Scan(void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype,
MPI_Op op, MPI_Comm comm)

MPI_SCAN(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER COUNT, DATATYPE, OP, COMM, IERROR

void Intracomm::Scan(const void* sendbuf, void* recvbuf, int count,
const Datatype& datatype, const Op& op) const

Функция MPI_SCAN используется, чтобы выполнить префиксную редукцию данных, распределенных в группе. Операция возвращает в приемный буфер процесса i редукцию значений в посылающих буферах процессов с номерами 0, ..., i (включительно). Тип поддерживаемых операций, их семантика, и ограничения на буфера посылки и приема - такие же, как и для MPI_REDUCE.



Subsections

Alex Otwagin 2002-12-10