学习了MPI的点对点技术后,来博客记录一下。先上完整地代码:
#include<bits/stdc++.h>
#include<mpi.h>
using namespace std;
int comm_sz=0;
int my_rank=0;
int arra[]={
1,2,3,4,5},arrb[]={
10,9,8,7,6},arrc[]={
0,0,0,0,0};
//获取输入,0进程从键盘读取,非0进程从0进程获取
bool get_input(double &a,double &b,int n)
{
if(my_rank==0){
//用户输入
cout<<" enter a,b,n"<<endl;
cin>>a>>b>>n;
}
else{
//从进程0获取
MPI_Recv(&a,1,MPI_DOUBLE,0,0

本文介绍了并行计算中的MPI点对点通信,讲解了MPI_Init、MPI_Finalize、MPI_Comm_size、MPI_Comm_rank、MPI_Send和MPI_Recv等关键函数的用法。通过示例阐述了消息发送与接收的条件,以及非0进程如何计算并发送结果到0号进程,0号进程如何接收并汇总结果。
最低0.47元/天 解锁文章
3885

被折叠的 条评论
为什么被折叠?



