MPI_ALLREDUCE(sendbuf, recvbuf, count, datatype, op, comm)
INsendbuf发送消息缓冲区的起始地址(可选数据类型)
OUT recvbuf接收消息缓冲区的起始地址(可选数据类型)
INcount  发送消息缓冲区中的数据个数(整型)
INdatatype 发送消息缓冲区中的数据类型(句柄)
INop 操作(句柄)
INcomm 通信域(句柄)
int MPI_Allreduce(void* sendbuf, void* recvbuf, int count, MPI_Datatype datatype,
MPI_Op op, MPI_Comm comm)
MPI_ALLREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM,
IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER COUNT, DATATYPE, OP, COMM, IERROR

只要理解了归约操作,就可以很容易地掌握组归约操作。组归约MPI_ALLREDUCE就相当于组中每一个进程都作为ROOT分别进行了一次归约操作。即归约的结果不只是某一个进程拥有,而是所有的进程都拥有。它在某种程度上和组收集与收集的关系很相似。