1. 11 Jan, 2013 1 commit
    • James Dinan's avatar
      Implemented interprocess shared memory RMA ops · 58ec39c5
      James Dinan authored
      Communication operations on shared memory windows now perform the op directly
      on the shared buffer.  This requried the addition of a per-window interprocess
      mutex to ensure that atomics and accumulates are performed atomically.
      
      Reviewer: buntinas
      58ec39c5
  2. 10 Jan, 2013 1 commit
  3. 08 Nov, 2012 3 commits
    • James Dinan's avatar
      [svn-r10592] Updated active target to use a shared ops list · 5510107a
      James Dinan authored
      This fixes the performance regression that was introduced by concatenation of
      per-target lists.
      
      Reviewer: goodell
      5510107a
    • James Dinan's avatar
      [svn-r10590] Renamed fence_cnt to fence_issued · b054ac23
      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
      b054ac23
    • James Dinan's avatar
      [svn-r10587] RMA epoch tracking · b001136e
      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
      b001136e
  4. 05 Nov, 2012 4 commits
    • James Dinan's avatar
      [svn-r10526] Fixed incorrect handling of NO_OP in GACC · 69fc1480
      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
      69fc1480
    • James Dinan's avatar
      [svn-r10519] Renamed MPIDI_RMA_ops to MPIDI_RMA_Op_t · 0ef0149e
      James Dinan authored
      Reviewer: goodell
      0ef0149e
    • James Dinan's avatar
      [svn-r10513] Support for one RMA op list per target · ab97edb7
      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
      ab97edb7
    • James Dinan's avatar
      [svn-r10508] Refactoring RMA Ops list to DL · cdb1b3e4
      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
      cdb1b3e4
  5. 23 Oct, 2012 1 commit
    • James Dinan's avatar
      [svn-r10436] Refactoring of RMA ops list code · c8f360b2
      James Dinan authored
      Refactored RMA ops enqueue/dequeue operations into inline functions to reduce
      copy/paste code.  Added extra safety checks that will be needed as we renovate
      for MPI-3.
      
      Reviewer: goodell
      c8f360b2
  6. 11 Oct, 2012 3 commits
  7. 10 Oct, 2012 1 commit
  8. 25 Sep, 2012 1 commit
  9. 19 Sep, 2012 1 commit
  10. 07 Sep, 2012 1 commit
  11. 05 Sep, 2012 1 commit
  12. 30 Aug, 2012 1 commit
  13. 23 Aug, 2012 2 commits