r10681 - in mpich2/trunk/src: mpi/rma mpid/ch3/src
Author: dinan Date: 2012-11-27 17:40:08 -0600 (Tue, 27 Nov 2012) New Revision: 10681 Modified: mpich2/trunk/src/mpi/rma/raccumulate.c mpich2/trunk/src/mpi/rma/rget.c mpich2/trunk/src/mpi/rma/rget_accumulate.c mpich2/trunk/src/mpi/rma/rput.c mpich2/trunk/src/mpid/ch3/src/ch3u_rma_reqops.c Log: RMA Req-ops: Fixed PROC_NULL handling When called with a target process of PROC_NULL, RMA request-generating operations did not return a valid request handle. Reviewer: goodell Modified: mpich2/trunk/src/mpi/rma/raccumulate.c =================================================================== --- mpich2/trunk/src/mpi/rma/raccumulate.c 2012-11-27 23:40:06 UTC (rev 10680) +++ mpich2/trunk/src/mpi/rma/raccumulate.c 2012-11-27 23:40:08 UTC (rev 10681) @@ -153,8 +153,6 @@ /* ... body of routine ... */ - if (target_rank == MPI_PROC_NULL) goto fn_exit; - mpi_errno = MPIU_RMA_CALL(win_ptr,Raccumulate(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, Modified: mpich2/trunk/src/mpi/rma/rget.c =================================================================== --- mpich2/trunk/src/mpi/rma/rget.c 2012-11-27 23:40:06 UTC (rev 10680) +++ mpich2/trunk/src/mpi/rma/rget.c 2012-11-27 23:40:08 UTC (rev 10681) @@ -147,8 +147,6 @@ /* ... body of routine ... */ - if (target_rank == MPI_PROC_NULL) goto fn_exit; - mpi_errno = MPIU_RMA_CALL(win_ptr, Rget(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, Modified: mpich2/trunk/src/mpi/rma/rget_accumulate.c =================================================================== --- mpich2/trunk/src/mpi/rma/rget_accumulate.c 2012-11-27 23:40:06 UTC (rev 10680) +++ mpich2/trunk/src/mpi/rma/rget_accumulate.c 2012-11-27 23:40:08 UTC (rev 10681) @@ -179,8 +179,6 @@ /* ... body of routine ... */ - if (target_rank == MPI_PROC_NULL) goto fn_exit; - mpi_errno = MPIU_RMA_CALL(win_ptr,Rget_accumulate(origin_addr, origin_count, origin_datatype, result_addr, result_count, Modified: mpich2/trunk/src/mpi/rma/rput.c =================================================================== --- mpich2/trunk/src/mpi/rma/rput.c 2012-11-27 23:40:06 UTC (rev 10680) +++ mpich2/trunk/src/mpi/rma/rput.c 2012-11-27 23:40:08 UTC (rev 10681) @@ -149,8 +149,6 @@ /* ... body of routine ... */ - if (target_rank == MPI_PROC_NULL) goto fn_exit; - mpi_errno = MPIU_RMA_CALL(win_ptr, Rput(origin_addr, origin_count, origin_datatype, target_rank, target_disp, target_count, Modified: mpich2/trunk/src/mpid/ch3/src/ch3u_rma_reqops.c =================================================================== --- mpich2/trunk/src/mpid/ch3/src/ch3u_rma_reqops.c 2012-11-27 23:40:06 UTC (rev 10680) +++ mpich2/trunk/src/mpid/ch3/src/ch3u_rma_reqops.c 2012-11-27 23:40:08 UTC (rev 10681) @@ -33,7 +33,9 @@ /* If this is a local operation, it's already complete. Otherwise, call * flush to complete the operation */ /* FIXME: We still may need to flush or sync for shared memory windows */ - if (req_state->target_rank != req_state->win_ptr->comm_ptr->rank) { + if (req_state->target_rank != req_state->win_ptr->comm_ptr->rank && + req_state->target_rank != MPI_PROC_NULL) + { mpi_errno = req_state->win_ptr->RMAFns.Win_flush(req_state->target_rank, req_state->win_ptr);
participants (1)
-
dinan@mcs.anl.gov