学习了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