#include<stdio.h>
#include<mpi.h>
#define size 100
int main(int argc,char **argv)
{
int A[size];
int i;
int myid,numprocs;
int x;
x=size/numprocs;
for(i=0;i<100;i++)
A[i]=i;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&myid);
MPI_Comm_size(MPI_COMM_WORLD,&numprocs);
MPI_Status status;
//关键代码
int low;
int high;
low=myid*x;
high=low+x;
if(myid==numprocs-1)
high=size;
int myresult;
int result;
myresult=0;
for(i=low;i<high;i++)
myresult+=A[i];
MPI_Reduce(&myresult,&result,1,MPI_INT,MPI_SUM,0,MPI_COMM_WORLD);//归约到0进程
//0进程打印
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载