1. 27 Jan, 2014 1 commit
    • Wesley Bland's avatar
      Moves the tag reservation to MPI layer · bb755b5c
      Wesley Bland authored and Pavan Balaji's avatar Pavan Balaji committed
      Resets MPIDI_TAG_UB back to 0x7fffffff. This value was changed a while back,
      but the change should have happened at the MPI layer instead of the CH3 layer.
      This resets the value to allow CH3 to use the tag space.
      Instead, the value is now set in the MPI layer during initthread. This means
      that it will be safe regardless of the device being used. This prevents a
      collision that was occurring on the pamid device where the values for
      MPIR_TAG_ERROR_BIT and the MPIR_Process.attr.tagged_coll_mask values were the
      Fixes #2008
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@mcs.anl.gov>
  2. 31 Oct, 2013 1 commit
  3. 01 Aug, 2013 1 commit
  4. 28 Jul, 2013 1 commit
    • Xin Zhao's avatar
      Add "alloc_shm" info to MPI_Win_allocate. · 384d96b7
      Xin Zhao authored and Pavan Balaji's avatar Pavan Balaji committed
      Add "alloc_shm" to window's info arguments and initialize it to FALSE.
      In MPID_Win_allocate, if "alloc_shm" is set to true, call ALLOCATE_SHARED,
      otherwise call ALLOCATE.
      Free window memory only when SHM region is not allocated, therwise it is
      already freed in MPIDI_CH3I_SHM_Win_free.
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@mcs.anl.gov>
  5. 25 Jul, 2013 2 commits
  6. 07 May, 2013 3 commits
  7. 01 Apr, 2013 1 commit
    • Ralf Gunter's avatar
      Add per-communicator eager threshold support. · a3c816ac
      Ralf Gunter authored
      Message transfers now respect the communicator-specific threshold.  This
      change has not been carefully checked for impact on our shared-memory
      ping-pong latency.
      Reviewed-by: goodell
  8. 21 Feb, 2013 2 commits
    • James Dinan's avatar
      Removed unused single_op_opt field from MPID_Request · 255fb4a6
      James Dinan authored
      The single_op_opt flag in the request object was previously used to
      track whether an operation is a lock-op-unlock type, for the purposes of
      completion.  Tracking this state has been merged into the packet header
      flags, so the single_op_opt flag is no longer needed.
      Reviewer: goodell
    • James Dinan's avatar
      Added flags to MPID_Request · 90be9ee1
      James Dinan authored
      Added a flags field to MPID_Request that we can use to stash flags from
      suspended RMA ops and retrieve them later when we complete the operation.
      Reviewer: goodell
  9. 06 Feb, 2013 1 commit
    • James Dinan's avatar
      Eliminate enqueueing of lock op in RMA ops list · fbd95593
      James Dinan authored
      Prior to this patch, a lock entry was enqueued in the RMA ops list when
      Win_lock was called.  This patch adds a new state tracking mechanism, which we
      use to record the synchronization state with respect to each RMA target.  This
      new mechanism absorbs tracking of lock operation and the lock state at the
      target.  It significantly simplifies the RMA synchronization and ops list
      Reviewer: goodell
  10. 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
  11. 17 Dec, 2012 1 commit
  12. 27 Nov, 2012 3 commits
  13. 08 Nov, 2012 5 commits
    • James Dinan's avatar
    • James Dinan's avatar
      [svn-r10593] Renamed EPOCH_GAT to PSCW · d45a8f45
      James Dinan authored
    • 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
    • James Dinan's avatar
      [svn-r10591] Moved device-only MPID_Win members to CH3 · f344bc2e
      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'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
       * It will allow us to distinguish between active and passive target epochs and
         avoid O(p) op list concatenation (future patch).
      Reviewer: balaji
  14. 05 Nov, 2012 5 commits
  15. 25 Oct, 2012 1 commit
  16. 23 Oct, 2012 1 commit
  17. 20 Oct, 2012 2 commits
    • James Dinan's avatar
      [svn-r10426] MPI-3 RMA Flush implementation · 7e3e73a2
      James Dinan authored
      This commit implements MPI-3 RMA's flush and flush_all operations.
      Reviewer: buntinas
    • James Dinan's avatar
      [svn-r10423] Added passive target immediate locking · 5109ab1b
      James Dinan authored
      When enabled, this mode of operation immediately requests the lock when
      MPI_Win_lock is called.  Currently, this is enabled by setting the
      MPICH_RMA_LOCK_IMMED environment variable.  In the future, we can also make
      this mode of operation available though an info/assert.  This capability is
      needed to implement MPI-3's flush operations.
      Reviewer: buntinas
  18. 11 Oct, 2012 1 commit
  19. 10 Oct, 2012 1 commit
  20. 08 Aug, 2012 1 commit
    • James Dinan's avatar
      [svn-r10115] New CH3 window functions interface. · 55589398
      James Dinan authored
      This adds the win_fns table to ch3, which allows the channel to override the
      default implementation of window creation routines provided by ch3.  This also
      pushes the implementation of shared memory windows down into Nemesis, includes
      window functions for sock, and contains multiple improvements to the window
      creation functions code.
      Reviewer: buntinas
  21. 31 Jul, 2012 1 commit
  22. 25 Jul, 2012 1 commit
  23. 24 Jul, 2012 1 commit
  24. 15 Apr, 2012 1 commit
    • David Goodell's avatar
      [svn-r9716] tt#1599: eliminate MPIDI_CH3_PktGeneric_t · f868be22
      David Goodell authored
      Without this change we are vulnerable to a nasty bit of compiler
      behavior.  MPIDI_CH3_PktGeneric_t sometimes included padding between the
      "kind" and "pktptrs" fields.  Then whole-structure assignments using the
      generic packet (e.g., ch3_istartmsg.c:96) of buffers that are actually
      MPIDI_CH3_Pkt_t unions under the hood will can fail to copy key parts of
      the MPIDI_CH3_Pkt_t.
      This specifically manifested itself for #1599 by transmitting garbage
      "source_win_handle" values in a LOCK_GRANTED packet, which in turn
      caused segfaults.
      Removing this second type and directly using the actual packet union
      eliminates this source of bugs.  The minor downside is that the
      mpidpkt.h header becomes more tightly integrated into the rest of the
      Reviewed by buntinas@.
  25. 09 Mar, 2012 1 commit