1. 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
      a3c816ac
  2. 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
      255fb4a6
    • 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
      90be9ee1
  3. 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
      processing.
      
      Reviewer: goodell
      fbd95593
  4. 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
  5. 17 Dec, 2012 1 commit
  6. 27 Nov, 2012 3 commits
  7. 08 Nov, 2012 5 commits
    • James Dinan's avatar
      c57c3bb1
    • James Dinan's avatar
      [svn-r10593] Renamed EPOCH_GAT to PSCW · d45a8f45
      James Dinan authored
      d45a8f45
    • 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-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
      f344bc2e
    • 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
  8. 05 Nov, 2012 5 commits
  9. 25 Oct, 2012 1 commit
  10. 23 Oct, 2012 1 commit
  11. 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
      7e3e73a2
    • 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
      5109ab1b
  12. 11 Oct, 2012 1 commit
  13. 10 Oct, 2012 1 commit
  14. 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
      55589398
  15. 31 Jul, 2012 1 commit
  16. 25 Jul, 2012 1 commit
  17. 24 Jul, 2012 1 commit
  18. 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
      device.
      
      Reviewed by buntinas@.
      f868be22
  19. 09 Mar, 2012 1 commit
  20. 22 Dec, 2011 1 commit
  21. 10 Nov, 2011 1 commit
    • David Goodell's avatar
      [svn-r9135] completely overhaul the build system · 4153c8f8
      David Goodell authored
      Use automake+libtool instead of simplemake+createshlib.  Parallel make
      now works for real, and shared library creation should be more robust on
      more platforms.  "make dist" now works, modulo building the documentation,
      although for boring reasons we can't actually use it for the final
      distribution tarball generation.
      
      This is a massive change and without a doubt has some bugs in it.  We'll
      work through them as we find them.
      
      No reviewer.
      4153c8f8
  22. 20 Jan, 2011 1 commit
    • David Goodell's avatar
      [svn-r7784] new NBC schedule mechanism, including progress, but no working collectives · eaf25042
      David Goodell authored
      This change consists of four main parts:
      
       1. Updating all of the MPIR_Ifoo_impl routines to assume that all
          nonblocking collective functions are set in the coll_fns field.
      
       2. Defining the MPID_Sched_ portion of the ADI in mpir_nbc.h.
      
       3. Implementing that interface in src/mpid/common/sched
      
       4. Modifications to ch3:nemesis and ch3:sock in order to call the
          progress engine hook for the scheduling mechanism, as well as
          correctly including the various scheduling headers in CH3 headers.
      
      Reviewed by balaji@.
      eaf25042
  23. 06 Nov, 2010 1 commit
    • William Gropp's avatar
      [svn-r7416] Major improvement to RMA performance for long lists of operations,... · 3608ca24
      William Gropp authored
      [svn-r7416] Major improvement to RMA performance for long lists of operations, an immediate mode accumulate for single ints, store the MPID_Comm within the window, and added a basic performance instrumentation interface that was extensively used to improve the RMA performance (enabled with --enable-g=instr).  With these fixes, MPICH2 can run the one-sided version of the Graph500 benchmark at a respectable if not great rate
      3608ca24
  24. 27 Jul, 2010 1 commit
  25. 13 Jan, 2010 1 commit
  26. 16 Dec, 2009 1 commit
  27. 24 Jul, 2009 1 commit
  28. 04 Dec, 2008 1 commit