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
  2. 17 Dec, 2012 1 commit
  3. 27 Nov, 2012 3 commits
  4. 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
  5. 05 Nov, 2012 5 commits
  6. 25 Oct, 2012 1 commit
  7. 23 Oct, 2012 1 commit
  8. 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
  9. 11 Oct, 2012 1 commit
  10. 10 Oct, 2012 1 commit
  11. 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
  12. 31 Jul, 2012 1 commit
  13. 25 Jul, 2012 1 commit
  14. 24 Jul, 2012 1 commit
  15. 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@.
  16. 09 Mar, 2012 1 commit
  17. 22 Dec, 2011 1 commit
  18. 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.
  19. 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@.
  20. 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
  21. 27 Jul, 2010 1 commit
  22. 13 Jan, 2010 1 commit
  23. 16 Dec, 2009 1 commit
  24. 24 Jul, 2009 1 commit
  25. 04 Dec, 2008 1 commit
  26. 10 Oct, 2008 1 commit
  27. 09 Oct, 2008 2 commits
  28. 07 Oct, 2008 1 commit