MPI编程(4)—集合通信MPI_Bcast、MPI_Gather、MPI_Scatter、MPI_Reduce

本文介绍了MPI中的四种集合通信操作:MPI_Bcast用于广播数据,MPI_Gather用于收集并排序数据,MPI_Scatter进行数据散播,MPI_Reduce则结合收集和特定运算。通过代码示例展示了这些操作的工作原理和使用场景。
摘要由CSDN通过智能技术生成
1. MPI_Bcast:广播消息

MPI_Bcast用于将一个进程的buffer中的数据广播到其他进程的相同buffer变量中
在这里插入图片描述
代码示例如下:

	int rank, data[10];
	MPI_Init(0, 0);
	MPI_Comm_rank(MPI_COMM_WORLD, &rank);

	if (rank == 0) 
	{
   	
		for (int i = 0; i < 10; ++i)
		{
   		
			data[i] = i + 1;
		}
	}		
	//进程0广播数据给所有进程
	MPI_Bcast(&data, 10, MPI_INT, 0, MPI_COMM_WORLD);
	//printf("process %d send data\n", rank);
	
	//每个进程该变量都被置为一样的值
	printf("process %d receive data:", rank);	
	for (int i = 0; i < 10; ++i)
	{
   
		printf("%d ", data[i]);
	}

	MPI_Finalize();

运行 mpiexec -n 4 TestMPI.exe 后,可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值