3 integer rank, size, to, from, tag, count, i, ierr
5 integer st_source, st_tag, st_count
6 integer status(MPI_STATUS_SIZE)
7 double precision data(100)
10 call MPI_COMM_RANK( MPI_COMM_WORLD, rank, ierr )
11 call MPI_COMM_SIZE( MPI_COMM_WORLD, size, ierr )
12 print *, 'Process ', rank, ' of ', size, ' is alive'
15 if (rank .eq. src) then
21 call MPI_SEND( data, count, MPI_DOUBLE_PRECISION, to,
22 + tag, MPI_COMM_WORLD, ierr )
23 else if (rank .eq. dest) then
27 call MPI_RECV( data, count, MPI_DOUBLE_PRECISION, from,
28 + tag, MPI_COMM_WORLD, status, ierr )
29 print *, rank, ' received', (data(i),i=1,10)
32 call MPI_FINALIZE( ierr )