+++ /dev/null
- PROGRAM MAIN
- INCLUDE 'mpif.h'
-
- INTEGER LDA
- PARAMETER (LDA=2)
- INTEGER myid,IERR,NPROCS, stat(MPI_STATUS_SIZE)
- COMPLEX A(2,2)
-
- CALL MPI_INIT(IERR)
- CALL MPI_COMM_RANK(MPI_COMM_WORLD,myid,IERR)
- CALL MPI_COMM_SIZE(MPI_COMM_WORLD,NPROCS,IERR)
-
- J0 = 1
- J1 = 2
-
- IF (myid .EQ. 0) THEN
- A(1,1) = CMPLX(1,1)
- A(2,1) = CMPLX(2,1)
- A(1,2) = CMPLX(1,2)
- A(2,2) = CMPLX(2,2)
- CALL MPI_SEND(A(1,1),LDA*(J1-J0+1),MPI_COMPLEX,1,
- + 0,MPI_COMM_WORLD,IERR)
- ELSE
- CALL MPI_RECV(A(1,1),LDA*(J1-J0+1),MPI_COMPLEX,
- + 0,MPI_ANY_TAG,MPI_COMM_WORLD,stat,IERR)
- PRINT *,'Received A'
- PRINT *,'A(1,1) = ',A(1,1),' A(1,2) = ',A(1,2)
- PRINT *,'A(2,1) = ',A(2,1),' A(2,2) = ',A(2,2)
- ENDIF
- CALL MPI_FINALIZE(IERR)
- END