Changeset 43
- Timestamp:
- 10/30/09 18:11:29 (15 years ago)
- Location:
- XMLIO_SERVER/trunk/src/IOSERVER
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_SERVER/trunk/src/IOSERVER/mod_mpi_buffer_client.f90
r37 r43 22 22 LOGICAL,SAVE :: is_last_request 23 23 24 INTEGER :: mpi_buffer_size 24 INTEGER,SAVE :: mpi_buffer_size 25 INTEGER,SAVE :: aggregated_request 25 26 26 27 CONTAINS … … 45 46 ok_new_request=.TRUE. 46 47 is_last_request=.FALSE. 48 aggregated_request=0 47 49 48 50 CALL set_pack_buffer(MPI_Buffer,buffer_begin) … … 87 89 pack_buffer(start_pos)=request_size 88 90 message_size=pack_pos-Pending_request(Request_pos)%Pos 91 aggregated_request=aggregated_request+1 89 92 90 93 … … 105 108 ! PRINT *,"Request_pos",request_pos 106 109 ! PRINT *,"Pos in Buffer",Pending_request(Request_pos)%Pos,"pack_pos",pack_pos 107 IF ( nb_request_pending==1 .AND. ( (buffer_free < MPI_buffer_size * 0.4) .OR. is_last_request )) THEN110 IF ( nb_request_pending==1 .AND. ( (buffer_free < MPI_buffer_size * 0.4) .OR. is_last_request .OR. (aggregated_request>=max_request/2) )) THEN 108 111 ok_out=.FALSE. 109 112 CALL Wait_us(10) … … 124 127 ENDDO 125 128 126 IF (nb_request_pending==0 .OR. (buffer_free < MPI_buffer_size* 0.4 ) ) THEN129 IF (nb_request_pending==0 .OR. (buffer_free < MPI_buffer_size* 0.4 ) .OR. (aggregated_request> max_request/2) ) THEN 127 130 128 131 CALL MPI_ISSEND(MPI_Buffer(Pending_request(Request_pos)%Pos),message_size,MPI_INTEGER8, & … … 143 146 144 147 ok_new_request=.TRUE. 145 148 aggregated_request=0 146 149 ENDIF 147 150 CALL VTe(VTprocess_event) -
XMLIO_SERVER/trunk/src/IOSERVER/mod_mpi_buffer_server.f90
r37 r43 110 110 ENDIF 111 111 112 IF (buffer_space < message_size .OR. buffers(n)%request_free ==0) THEN112 IF (buffer_space < message_size .OR. buffers(n)%request_free<=max_request/2) THEN 113 113 ok_out=.TRUE. 114 114 ! PRINT *,"BUFFER FULL !!!!"
Note: See TracChangeset
for help on using the changeset viewer.