- 16 Dec, 2014 24 commits
-
-
Xin Zhao authored
Rewrite progress engine functions as following: Basic functions: (1) check_target_state: check to see if we can switch target state, issue synchronization messages if needed. (2) issue_ops_target: issue al pending operations to this target. (3) check_window_state: check to see if we can switch window state. (4) issue_ops_win: issue all pending operations on this window. Currently it internally calls check_target_state and issue_ops_target, it should be optimized in future. Progress making functions: (1) Make_progress_target: make progress on one target, which internally call check_target_state and issue_ops_target. (2) Make_progress_win: make progress on all targets on one window, which internally call check_window_state and issue_ops_win. (3) Make_progress_global: make progress on all windows, which internally call make_progress_win. No reviewer.
-
Xin Zhao authored
No reviewer.
-
Xin Zhao authored
No reviewer.
-
Xin Zhao authored
No reviewer.
-
Xin Zhao authored
(1) Win_fence/Win_start: set access state right after we issue synchronization calls. (2) Win_post: set exposure state at beginning. (3) Win_wait/Win_test: set exposure state at end. (4) Win_lock/Win_lock_all: set access state at beginning. (5) Win_unlock/Win_unlock_all: set access state at end. No reviewer.
-
Xin Zhao authored
In Win_complete, release all requests on window; in Win_unlock_all, reset lock_assert on window. No reviewer.
-
Xin Zhao authored
We always need to allocate a array to store group ranks even for MPI_MODE_NOCHECK case, because we need always need that in Win_complete. No reviewer.
-
Xin Zhao authored
For Win_fence, Win_complete and Win_unlock_all, check if all targets are freed at the end of function calls. No reviewer.
-
Xin Zhao authored
We call memory barriers at proper places in RMA sync calls as following, and remove unnecessary memory barriers: (1) Win_fence: very beginning and very end. (2) Win_post/Win_complete: very beginning. (3) Win_start/Win_wait/Win_test: very end. (4) Win_lock/Win_lock_all: very end. (5) Win_unlock/Win_unlock_all: very beginning. (6) Win_flush/Win_flush_local/Win_flush_all/Win_flush_local_all: very beginning. About the reason of doing this, please refer to comments at the beginning of src/mpid/ch3/src/ch3u_rma_sync.c. No reviewer.
-
Xin Zhao authored
In ending RMA synchronization calls, we poke the progress engine at last if we never poke it before. Because some program execution depends on the incoming events in progress engine, if we never process them we may cause deadlock in the program. No reviewer.
-
Xin Zhao authored
Originally free_ops_before_completion functions only works with active target. Here we modify it to accomodate passive target as well. Also, everytime we trigger free_ops_before_completion, we lose the chance to do real Win_flush_local operation and must do a Win_flush instead. Here we transfer Win_flush_local to Win_flush if disable_flush_local flag is set, and unset that flag after the current flush is fone. No reviewer.
-
Xin Zhao authored
No reviewer.
-
Xin Zhao authored
Use int instead of size_t in RMA pkt header to reduce packet size. No reviewer.
-
Xin Zhao authored
No reviewer.
-
Xin Zhao authored
No reviewer.
-
Xin Zhao authored
In this patch we allow GET/GACC response packets to piggyback some IMMED data, just like what we did for PUT/GACC/FOP/CAS packets. No reviewer.
-
Xin Zhao authored
Originally we only allows LOCK request to be piggybacked with small RMA operations (all data can be fit in packet header). This brings communication overhead for larger operations since origin side needs to wait for the LOCK ACK before it can transmit data to the target. In this patch we add support of piggybacking LOCK with RMA operations with arbitrary size. Note that (1) this only works with basic datatypes; (2) if the LOCK cannot be satisfied, we temporarily buffer this operation on the target side. No reviewer.
-
Xin Zhao authored
No reviewer.
-
Xin Zhao authored
No reviewer.
-
Xin Zhao authored
No reviewer.
-
Xin Zhao authored
accumulated_ops_cnt is used to track no. of accumulated posted RMA operations between two synchronization calls, so that we can decide when to poke progress engine based on the current value of this counter. Here we initialize it to zero in the BEGINNING synchronization calls (Win_fence, Win_start, first Win_lock, Win_lock_all), and correctly decrement it in the ENDING synchronization calls (Win_fence, Win_complete, Win_unlock, Win_unlock_all, Win_flush, Win_flush_local, Win_flush_all, Win_flush_local_all). We also use a per-target counter to track single target case. No reviewer.
-
Xin Zhao authored
No reviewer.
-
Xin Zhao authored
Arrange RMA packet definition and structures in src/mpid/ch3/include/mpidpkt.h in the following order: 1. RMA operation packets: PUT, GET, ACC, GACC, CAS, FOP 2. RMA operation response packets: GET_RESP, GACC_RESP, CAS_RESP, FOP_RESP 3. RMA control packets: LOCK, UNLOCK, FLUSH, DECR_AT_COUNTER 4. RMA control response packets: LOCK_ACK, FLUSH_ACK No reviewer.
-
Xin Zhao authored
Arrange RMA sync functions in src/mpid/ch3/src/ch3u_rma_sync.c in the following order: Win_fence Win_post Win_start Win_complete Win_wait Win_test Win_lock Win_unlock Win_flush Win_flush_local Win_lock_all Win_unlock_all Win_flush_all Win_flush_local_all Win_sync No reviewer.
-
- 11 Dec, 2014 1 commit
-
-
Charles J Archer authored
-
- 09 Dec, 2014 2 commits
-
-
Charles J Archer authored
-
Charles J Archer authored
-
- 08 Dec, 2014 1 commit
-
-
This patch provides the following fix wrt Windows conformance feature (makes single code working on both platforms Linux and Windows): - RMA mutexes fix for Windows Change-Id: Ib4f7b2ec8a07813f0ed35281a1d584637c84c0a9 Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
- 05 Dec, 2014 3 commits
-
-
Kenneth Raffenetti authored
No reviewer
-
- name publishing/lookup support (pmi v1 and v2) - job and node attrs (v2) Change-Id: Id18d968da0d0bbf6e8cb2e7acffaf77d82a5e8b0 Signed-off-by:
Ken Raffenetti <raffenet@mcs.anl.gov>
-
The original fix for 'romio gpfs: select correct read buffer' was still missing a critical piece for the last round to use the correct read buffer, resulting in a correctness issue that was missed by IOR but still found by the IBM PE test team. The fix was to correctly toggle the buffer after the last read. Signed-off-by:
Paul Coffman <pkcoff@us.ibm.com> Signed-off-by:
Rob Latham <robl@mcs.anl.gov>
-
- 04 Dec, 2014 1 commit
-
-
Min Si authored
This test passed a 0 size to win_create which is translated to a integer(32bit) var by fortran compiler and passed to c mpi_win_create as an invalid MPI_Aint(64bit) var by fortran binding because prototype checking is not supported. This test can be failed if mpi_win_create internally initializes resource related to the value of size (i.e., mxm maps win buffer in win_init). This patch fixed this issue by passing a 64bit local variable as size parameter instead of a constant var 0 in this f90 test. Signed-off-by:
Junchao Zhang <jczhang@mcs.anl.gov>
-
- 03 Dec, 2014 4 commits
-
-
Wesley Bland authored
No reviewer
-
James Dinan authored
Test for correct error class when a dynamic error code is created from a predefined error class. Signed-off-by:
Wesley Bland <wbland@anl.gov>
-
James Dinan authored
During error code creation, the error class was erroneously modified by applying ERROR_DYN_MASK when. The dynamic bit is already set for user-defined error classes, so this bug had no effect in all existing MPICH tests. However, when a predefined error class was passed during error code creation, it would be incorrectly marked as dynamic, resulting in an invalid result when the error class of a returned error code was returned via MPI_Error_class. Signed-off-by:
Wesley Bland <wbland@anl.gov>
-
Kenneth Raffenetti authored
Add the MPICH copyright header and remove C99 variable declaration in for loop. Signed-off-by:
Wesley Bland <wbland@anl.gov>
-
- 02 Dec, 2014 1 commit
-
-
Type of the third argument for MPIR_Pack_size_impl should be a pointer to MPI_Aint. This patch fixes the wrong usage of int pointer for MPIR_Pack_size_impl in NEWMAD and MXM netmods. Signed-off-by:
Sangmin Seo <sseo@anl.gov>
-
- 28 Nov, 2014 3 commits
-
-
Pavan Balaji authored
Signed-off-by:
Wesley Bland <wbland@anl.gov>
-
Pavan Balaji authored
Also remove the function prototype declaration since it is not used out-of-order. Signed-off-by:
Wesley Bland <wbland@anl.gov>
-
Pavan Balaji authored
Signed-off-by:
Wesley Bland <wbland@anl.gov>
-