MPI学习-规约函数MPI_Allreduce

MPI_Allreduce函数用于实现全局规约操作,它将所有进程的数据通过特定运算结合在一起,每个进程最终都会收到结合后的结果。该操作等价于先执行MPI_Reduce收集数据,再使用MPI_Scatter分散到所有进程。语法规则中强调send_buffer和recv_buffer的datatype及datasize必须一致。在进程数为4的示例中,可以看到规约函数如何工作。
摘要由CSDN通过智能技术生成

全局规约函数MPI_Allreduce:
将所有的发送信息进行同一个操作,所有进程均接收信息;
相当于先做MPI_Reduce,然后再做MPI_Scatter。

语法规则:

int MPI_Alleduce(
void *input_data, /*指向发送消息的内存块的指针 */
void *output_data, /*指向接收(输出)消息的内存块的指针 */
int count,/*数据量*/
MPI_Datatype datatype,/*数据类型*/
MPI_Op operator,/*规约操作*/
MPI_Comm comm);/*通信器,指定通信范围*/

举例:

#include "stdafx.h"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值