1. 01 Oct, 2014 3 commits
  2. 28 Sep, 2014 1 commit
    • Xin Zhao's avatar
      Fix completion on target side in Active Target synchronization. · aa36f043
      Xin Zhao authored
      
      
      For Active Target synchronization, the original implementation
      does not guarantee the completion of all ops on target side
      when Win_wait / Win_fence returns. It is implemented using a
      counter, which is decremented when the last operation from that
      origin finishes. Win_wait / Win_fence waits until that counter
      reaches zero. Problem is that, when the last operation finishes,
      the previous GET-like operation (for example with a large data
      volume) may have not finished yet. This breaks the semantic of
      Win_wait / Win_fence.
      
      Here we fix this by increment the counter whenever we meet a
      GET-like operation, and decrement it when that operation finishes
      on target side. This will guarantee that when counter reaches
      zero and Win_wait / Win_fence returns, all operations are completed
      on the target.
      
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@anl.gov>
      aa36f043
  3. 18 Jul, 2014 1 commit
  4. 17 Jul, 2014 1 commit
    • Pavan Balaji's avatar
      Simplified RMA_Op structure. · 274a5a70
      Pavan Balaji authored
      
      
      We were creating duplicating information in the operation structure
      and in the packet structure when the message is actually issued.
      Since most of the information is the same anyway, this patch just
      embeds a packet structure into the operation structure.
      
      Signed-off-by: default avatarXin Zhao <xinzhao3@illinois.edu>
      274a5a70
  5. 22 May, 2014 1 commit
    • Wesley Bland's avatar
      Make handling of request cleanup more uniform · 1e171ff6
      Wesley Bland authored
      
      
      There are quite a few places where the request cleanup is done via:
      
      MPIU_Object_set_ref(req, 0);
      MPIDI_CH3_Request_destroy(req);
      
      when it should be:
      
      MPID_Request_release(req);
      
      This makes the handling more uniform so requests are cleaned up by releasing
      references rather than hitting them with the destroy hammer.
      
      Fixes #1664
      
      Signed-off-by: Kenneth Raffenetti's avatarKen Raffenetti <raffenet@mcs.anl.gov>
      1e171ff6
  6. 30 Dec, 2013 1 commit
  7. 31 Oct, 2013 1 commit
  8. 26 Sep, 2013 1 commit
  9. 28 Jul, 2013 1 commit
  10. 21 Feb, 2013 4 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
      RMA sync. piggybacking from origin->target · 4e67607f
      James Dinan authored
      This patch uses packet header flags to piggyback the unlock operation on other
      RMA operations.  For most operations, there is no net change.  However, FOP and
      GACC, unlock piggybacking was previously not implemented.
      
      Reviewer: goodell
      4e67607f
    • James Dinan's avatar
      Consolidated RMA op finalization code · bba35589
      James Dinan authored
      This patch consolidates the synchronization and tracking of RMA operations into
      a single routine that is called whenever we complete an operation.  The only
      exception are lock-op-unlock operations that are completed from within the lock
      operation processing code.
      
      This code is pretty ugly, but it will get cleaner once packet flags are been
      added.
      
      Reviewer: goodell
      bba35589
    • James Dinan's avatar
      Temporarily reverted is_gacc_op bugfix · c5312557
      James Dinan authored
      Partially reverted [0b364068] in preparation for incorporating new
      piggybacking infrastructure.  This temporarily re-introduces that bug
      and it will be fixed again with the new piggybacking patch.
      
      Reviwer: goodell
      c5312557
  11. 05 Feb, 2013 1 commit
    • James Dinan's avatar
      BUGFIX: Unlock piggybacking for Get_accumulate · 0b364068
      James Dinan authored
      GACC operations were both piggybacking the unlock message to the origin, and
      sending back a PT done packet.  This was causing the origin to be unlocked
      twice.  When another lock operation was performed between the GACC and PT done
      unlock operations, there was a synchronization race.
      0b364068
  12. 24 Jan, 2013 1 commit
  13. 05 Nov, 2012 2 commits
  14. 11 Oct, 2012 1 commit
  15. 10 Oct, 2012 1 commit
  16. 20 Sep, 2012 1 commit
    • James Dinan's avatar
      [svn-r10249] Updated fetch_and_op implementation · 9574b9ab
      James Dinan authored
      Updated the fetch_and_op implementation to have two data transfer paths; one
      where data can be embedded in the packet header and one where it is sent
      separately.  With this change, the header size is back to 40 bytes.
      
      Reviewer: buntinas
      9574b9ab
  17. 23 Aug, 2012 1 commit
  18. 06 Apr, 2012 1 commit
  19. 04 Nov, 2011 1 commit
  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
      3608ca24
  21. 06 Oct, 2010 1 commit
  22. 08 Sep, 2010 1 commit
  23. 29 Jul, 2010 1 commit
  24. 24 Sep, 2009 1 commit
    • William Gropp's avatar
      [svn-r5368] Use the correct type in the segment calls - it must be an... · efb35431
      William Gropp authored
      [svn-r5368] Use the correct type in the segment calls - it must be an MPI_Aint, not an MPIDI_msg_sz_t, particularly when the size of MPI_Aint is changed to match MPI_Offset (the segment calls specify an MPI_Aint at the last argument, for example.  This is part of the changes needed to make attributes work properly when --with-aint-size=8 is selected
      efb35431
  25. 24 Jul, 2009 1 commit
  26. 13 Mar, 2009 1 commit
    • Jayesh Krishna's avatar
      [svn-r4062] 1) Modifying the datatype code to find the number of contig blocks... · ac4f4cd1
      Jayesh Krishna authored
      [svn-r4062] 1) Modifying the datatype code to find the number of contig blocks in an instance of an MPI derived datatype - Since finding the real number of contig blocks is not easy we find a reasonable upper bound instead. This also fixes the case where the number of contig blocks was uninitialized for contiguous datatypes. Refer ticket #428 for details (2) Adding a test case, test1_dt.c, to test the fix - Review @ rross, thakur
      ac4f4cd1
  27. 12 Mar, 2009 1 commit
  28. 31 Dec, 2008 1 commit
  29. 09 Oct, 2008 1 commit
  30. 02 Sep, 2008 1 commit
    • William Gropp's avatar
      [svn-r3070] Added ATTRIBUTE((unused)) (which is defined to work with gcc and... · 8fe6a1a0
      William Gropp authored
      [svn-r3070] Added ATTRIBUTE((unused)) (which is defined to work with gcc and disappear for other compilers only to the functions whose arguments are defined by a general pattern (such as a request handler) and thus must be used even if not needed.  For functions that have parameters that are not used and are not needed to conform to a pattern, do not use ATTRIBUTE((unused)), instead, fix the routine to either make use of the argument in a real way or change the routine to not pass the argument.
      8fe6a1a0
  31. 15 Aug, 2008 1 commit
  32. 25 Jul, 2008 1 commit
  33. 15 May, 2008 1 commit
  34. 02 Nov, 2007 1 commit