reverted non-busy-waiting
This commit is contained in:
parent
30effd53fe
commit
7b9333b8bc
1 changed files with 8 additions and 33 deletions
|
|
@ -103,7 +103,6 @@
|
|||
SUBROUTINE main_lb
|
||||
INTEGER :: fread,i
|
||||
INTEGER, PARAMETER :: eofread = -1
|
||||
LOGICAL :: received
|
||||
|
||||
CALL READ_INTRO
|
||||
|
||||
|
|
@ -134,14 +133,8 @@
|
|||
|
||||
countnum=countnum+1
|
||||
|
||||
CALL MPI_Irecv(id_to, 1, MPI_INTEGER, MPI_ANY_SOURCE, tag, MPI_COMM_TASK, mpi_request, mpi_err)
|
||||
do
|
||||
call MPI_Test(mpi_request, received, mpi_status, mpi_err)
|
||||
if (received) exit
|
||||
call SLEEP (1)
|
||||
end do
|
||||
|
||||
CALL MPI_SEND(fread, 1, MPI_INTEGER8, id_to, tag, MPI_COMM_TASK, mpi_err)
|
||||
CALL MPI_RECV(id_to, 1, MPI_INTEGER, MPI_ANY_SOURCE, tag, MPI_COMM_TASK, mpi_status, mpi_err)
|
||||
CALL MPI_SEND(fread, 1, MPI_INTEGER8, id_to, tag, MPI_COMM_TASK, mpi_err)
|
||||
|
||||
ENDIF
|
||||
|
||||
|
|
@ -149,14 +142,8 @@
|
|||
|
||||
end_of_dispatch1: DO i=1,numprocs-1
|
||||
|
||||
CALL MPI_Irecv (id_to, 1, MPI_INTEGER, MPI_ANY_SOURCE, tag, MPI_COMM_TASK, mpi_request, mpi_err)
|
||||
do
|
||||
call MPI_Test(mpi_request, received, mpi_status, mpi_err)
|
||||
if (received) exit
|
||||
call SLEEP (1)
|
||||
end do
|
||||
|
||||
CALL MPI_SEND(eofread, 1, MPI_INTEGER8, id_to, tag, MPI_COMM_TASK, mpi_err)
|
||||
CALL MPI_RECV(id_to, 1, MPI_INTEGER, MPI_ANY_SOURCE, tag, MPI_COMM_TASK, mpi_status, mpi_err)
|
||||
CALL MPI_SEND(eofread, 1, MPI_INTEGER8, id_to, tag, MPI_COMM_TASK, mpi_err)
|
||||
|
||||
ENDDO end_of_dispatch1
|
||||
|
||||
|
|
@ -204,14 +191,8 @@
|
|||
|
||||
ELSE
|
||||
|
||||
CALL MPI_Irecv(id_to, 1, MPI_INTEGER, MPI_ANY_SOURCE, tag, MPI_COMM_TASK, mpi_request, mpi_err)
|
||||
do
|
||||
call MPI_Test(mpi_request, received, mpi_status, mpi_err)
|
||||
if (received) exit
|
||||
call SLEEP (1)
|
||||
end do
|
||||
|
||||
CALL MPI_SEND(fread, 1, MPI_INTEGER8, id_to, tag, MPI_COMM_TASK, mpi_err)
|
||||
CALL MPI_RECV(id_to, 1, MPI_INTEGER, MPI_ANY_SOURCE, tag, MPI_COMM_TASK, mpi_status, mpi_err)
|
||||
CALL MPI_SEND(fread, 1, MPI_INTEGER8, id_to, tag, MPI_COMM_TASK, mpi_err)
|
||||
|
||||
ENDIF
|
||||
|
||||
|
|
@ -219,14 +200,8 @@
|
|||
|
||||
end_of_dispatch2: DO i=1,numprocs-1
|
||||
|
||||
CALL MPI_Irecv (id_to, 1, MPI_INTEGER, MPI_ANY_SOURCE, tag, MPI_COMM_TASK, mpi_request, mpi_err)
|
||||
do
|
||||
call MPI_Test(mpi_request, received, mpi_status, mpi_err)
|
||||
if (received) exit
|
||||
call SLEEP (1)
|
||||
end do
|
||||
|
||||
CALL MPI_SEND(eofread, 1, MPI_INTEGER8, id_to, tag, MPI_COMM_TASK, mpi_err)
|
||||
CALL MPI_RECV(id_to, 1, MPI_INTEGER, MPI_ANY_SOURCE, tag, MPI_COMM_TASK, mpi_status, mpi_err)
|
||||
CALL MPI_SEND(eofread, 1, MPI_INTEGER8, id_to, tag, MPI_COMM_TASK, mpi_err)
|
||||
|
||||
ENDDO end_of_dispatch2
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue