- 08 Nov, 2012 8 commits
-
-
James Dinan authored
-
James Dinan authored
-
James Dinan authored
This fixes the performance regression that was introduced by concatenation of per-target lists. Reviewer: goodell
-
James Dinan authored
Moved fence_issued and start_assert MPID_Win members into CH3. These should not be a required part of the ADI, since they are not needed above the ADI and implementations should be free to choose different mechanisms for tracking the state of synchronization operations. Reviewer: buntinas
-
James Dinan authored
The fence_cnt field in MPID_Win is not a counter, it's a flag that indicates if fence has been called. Reviewer: buntinas
-
James Dinan authored
The implementation of lock/unlock_all was updated with the addition of epoch tracking. This patch adds a corresponding update of the memory fences for shared memory windows. Reviewer: balaji
-
James Dinan authored
This patch adds code to track the RMA epoch state of the local process. Currently, we are tracking the synchronization states that are allowed by MPICH; in the future, we may want to restrict this to only states that are allowed by the standard. The addition of epoch tracking has several benefits: * It allows us to detect synchronization errors (implemented in this patch). * It allows us to implement lock_all more efficiently (implemented in this patch). * It will allow us to distinguish between active and passive target epochs and avoid O(p) op list concatenation (future patch). Reviewer: balaji
-
James Dinan authored
This change will set us up to acquire the local lock inside of other synchronization calls, specifically Win_lock_all. Reviewer: buntinas
-
- 06 Nov, 2012 1 commit
-
-
James Dinan authored
Added immediate locking (needed to support load/store access) and memory fences (to support third-party load/store communication). Reviewer: balaji
-
- 05 Nov, 2012 20 commits
-
-
Pavan Balaji authored
1. Make the manpage entries consistent with the function prototype. 2. Consistently use "Parameters" instead of the inconsistent "Parameter" and "Parameters" usage. 3. Correct the manpages for MPI_Type_get_contents and MPI_Type_get_envelope. Reviewed by dinan.
-
James Dinan authored
Updated RMA code to remove trailing "_e" and "_s" on enum and struct type names to match the MPICH style. Reviewer: goodell
-
James Dinan authored
Reviewer: balaji
-
James Dinan authored
Code review cleanups that couldn't be merged into earlier patches because of later changes. Reviewer: goodell
-
James Dinan authored
Updated get_accumulate implementation to properly handle NO_OP operations; currently, we dispatch these as get operations. As a part of this change, the op issue code was also gathered into a macro to reduce copy-paste across all of the synchronization functions. Reviewer: goodell
-
James Dinan authored
Removed scattered initializations of the RMA op dataloop field that are redundant, since the dataloop field is now initialized when the op is allocated. Reviewer: goodell
-
James Dinan authored
Fetch-and-op has been updated to ignore the origin data and perform no operation when the given op is MPI_NO_OP. Reviewer: goodell
-
James Dinan authored
Reviewer: goodell
-
James Dinan authored
Removed calls to higher-level MPIU_RMA_CALL() macro. This macro dispatches either from the RMAFns table or directly to the MPID_ function; since CH3 always uses the RMAFns table, this macro shouldn't be used inside of CH3. Reviewer: balaji
-
James Dinan authored
If flush is used as a part of polling for incoming data, we can deadlock, since local RMA calls never poke the progress engine. Extra progress was added to local flushes to better fake passive progress. Reviewer: balaji
-
James Dinan authored
Reviewer: buntinas
-
James Dinan authored
Updated RMA implementation to track the passive target status individually, for each target. Includes new implementation for lock/unlock_all. Lock_all is currently unoptimized, see #1734 for future plans. Reviewer: buntinas
-
James Dinan authored
Remove ugly rank 0 hack and updated the active target code to maintain and process a proper RMA ops list. Reviewer: goodell
-
James Dinan authored
The use of a dense array is a temporary measure to support the reference implementation. This will be much improved by ticket #1735. Reviewer: goodell
-
James Dinan authored
A couple of the RMA synchronization error checks were returning the wrong error class. reviewer: buntinas
-
James Dinan authored
The old "lockRank" error checking is no longer sufficient in MPI 3.0 and must be removed to add support for locking multiple targets. Reviewer: balaji
-
James Dinan authored
Removed the use of lockRank in the passive target RMA code. This was a hack to start with, since lockRank belonged to the the front-end error checking and should not have been used below the ADI. Reviewer: buntinas
-
James Dinan authored
This is a temporary measure for the reference implementation that should be improved by ticket #1733. Reviewer: buntinas
-
James Dinan authored
In this patch, I have refactored the RMA ops list again to use the MPL UTList doubly-linked list and to treat the list as a proper object. This should set us up to work with multiple lists, as we will soon have one list per target. Doubly-linking the list is a big help in terms of maintainability (no more prevNext pointers) and flexibility (better implementation of request-based ops and other optimizations). Reviewer: goodell
-
Darius Buntinas authored
-
- 02 Nov, 2012 2 commits
-
-
James Dinan authored
-
James Dinan authored
Request refs at the target were incorrectly set to two. Only one ref is held, by the progress engine. Reviewer: none
-
- 29 Oct, 2012 1 commit
-
-
James Dinan authored
Reviewer: buntinas
-
- 26 Oct, 2012 4 commits
-
-
Darius Buntinas authored
-
Darius Buntinas authored
-
Darius Buntinas authored
-
Darius Buntinas authored
-
- 25 Oct, 2012 4 commits
-
-
James Dinan authored
Reviewer: balaji
-
James Dinan authored
Implementation of MPI-3 window info query routines. Reviewer: balaji
-
James Dinan authored
Info argument was never used during window initialization. Move the responsibility to look at the info argument to the window creation function. Reviewer: balaji
-
James Dinan authored
This adds a simple implementation for request-based RMA operations. The implementation uses generalized requests as follows: 1. Insert operation into the RMA ops list 2. Create a generalized request 3. When the request is polled, flush the window and mark completed Reviewer: buntinas
-