MPI_Barrier

来源:互联网 发布:sql union关联 编辑:程序博客网 时间:2024/06/05 16:38
//Writed by YaoPU 2016 Oct 10//Connect by yaopu@iccas.ac.cn#include"mpi.h"#include<stdio.h>int main(int argc,char **argv){MPI_Init(&argc,&argv);int rank,size,value;MPI_Status status;MPI_Comm_rank(MPI_COMM_WORLD,&rank);MPI_Comm_size(MPI_COMM_WORLD,&size);do{if(rank==0){fprintf(stderr,"\nPlease give new value=");scanf("%d",&value);fprintf(stderr,"%dread<-<- (%d)\n",rank,value);if(size>1){MPI_Send(&value,1,MPI_INT,rank+1,0,MPI_COMM_WORLD);fprintf(stderr,"%dsend(%d)->->%d\n",rank,value,rank+1);}}else{MPI_Recv(&value,1,MPI_INT,rank-1,0,MPI_COMM_WORLD,&status);fprintf(stderr,"%dsend(%d)->->%d\n",rank,value,rank+1);if(rank<size-1){MPI_Send(&value,1,MPI_INT,rank+1,0,MPI_COMM_WORLD);fprintf(stderr,"%dsend (%d)->->%d\n",rank,value,rank+1);}}MPI_Barrier(MPI_COMM_WORLD);}while(value >=0);MPI_Finalize();return 0;}

0 0
原创粉丝点击