MPI_ALLREDUCE(sendbuf,
recvbuf, count, datatype, op, comm) INsendbuf发送消息缓冲区的起始地址(可选数据类型) OUT recvbuf接收消息缓冲区的起始地址(可选数据类型) INcount 发送消息缓冲区中的数据个数(整型) INdatatype 发送消息缓冲区中的数据类型(句柄) INop 操作(句柄) INcomm 通信域(句柄) 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分别进行了一次归约操作。即归约的结果不只是某一个进程拥有,而是所有的进程都拥有。它在某种程度上和组收集与收集的关系很相似。 |
||