MPI_REDUCE(sendbuf,recvbuf,count,datatype,op,root,comm) INsendbuf发送消息缓冲区的起始地址(可选数据类型) OUT recvbuf接收消息缓冲区中的地址(可选数据类型) INcount发送消息缓冲区中的数据个数(整型) INdatatype 发送消息缓冲区的元素类型(句柄) INop 归约操作符(句柄) INroot 根进程序列号(整型) INcomm 通信域(句柄) int MPI_Reduce(void* sendbuf, void* recvbuf, int count, PI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) MPI_REDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, ROOT, COMM, IERROR) <type> SENDBUF(*), RECVBUF(*) INTEGER COUNT, DATATYPE, OP, ROOT, COMM, IERROR MPI_REDUCE将组内每个进程输入缓冲区中的数据按给定的操作op进行运算,并将其结果返回到序列号为root的进程的输出缓冲区中。输入缓冲区由参数sendbuf、count和datatype定义,输出缓冲区由参数recvbuf、count和datatype定义,要求两者的元素数目和类型都必须相同。因为所有组成员都用同样的参数count、datatype、op、root和comm来调用此进程,故而所有进程都提供长度相同、元素类型相同的输入和输出缓冲区。每个进程可能提供一个元素或一系列元素,组合操作依次针对每个元素进行。
|
|||