crasywind 发表于 2009-10-10 18:31:35

求助,mpi消息传递的问题

求助版上高人,程序里面消息传递的流程如图,程序如下。运行的时候,mpi老是没反应,不知道是出了什么问题,求指教。谢谢!
**************0的交接面的交换信息
IF(MYID.EQ.0) THEN      
        CALL MPI_RECV(TEMP(1),3000,MPI_REAL,2,20,MPI_COMM_WORLD,STATU
   & S,IERR)
        CALL MPI_RECV(TEMP3(1),3000,MPI_REAL,1,10,MPI_COMM_WORLD,STATU
   & S,IERR)
        END IF
***************2的交接面的交换信息
      IF(MYID.EQ.2) THEN
      CALL MPI_SEND(TEMP5(1),3000,MPI_REAL,0,20,MPI_COMM_WORLD,IERR)
        CALL MPI_RECV(TEMP7(1),3000,MPI_REAL,0,2,MPI_COMM_WORLD,STATU
   & S,IERR)
        CALL MPI_RECV(TEMP6(1),7000,MPI_REAL,1,12,MPI_COMM_WORLD,STATU
   & S,IERR)       
      END IF
***************1的交接面的交换信息
      IF(MYID.EQ.1) THEN
      CALL MPI_SEND(TEMP9(1),3000,MPI_REAL,0,10,MPI_COMM_WORLD,IERR)
      CALL MPI_SEND(TEMP10(1),7000,MPI_REAL,2,12,MPI_COMM_WORLD,IERR)
               
        CALL MPI_RECV(TEMP11(1),3000,MPI_REAL,0,1,MPI_COMM_WORLD,STATU
   & S,IERR)       
        CALL MPI_RECV(TEMP12(1),7000,MPI_REAL,2,21,MPI_COMM_WORLD,STATU
   & S,IERR)
      END IF

**************0 SEND TO 1AND 2
        IF(MYID.EQ.0) THEN
        CALL MPI_SEND(TEMP2(1),3000,MPI_REAL,2,2,MPI_COMM_WORLD,IERR)
        CALL MPI_SEND(TEMP4(1),3000,MPI_REAL,1,1,MPI_COMM_WORLD,IERR)
        END IF
       
**************2 SEND TO 1
        IF(MYID.EQ.2) THEN
        CALL MPI_SEND(TEMP81),7000,MPI_REAL,1,21,MPI_COMM_WORLD,IERR)
        END IF

yahoo2006 发表于 2009-10-19 20:37:03

期待高手来解决啊
页: [1]
查看完整版本: 求助,mpi消息传递的问题