1. 04 Mar, 2015 1 commit
    • Xin Zhao's avatar
      Correct the usage of req's segment_first and segment_size in sendNonContig · 5132e070
      Xin Zhao authored and Pavan Balaji's avatar Pavan Balaji committed
      
      
      The implementations of sendNoncontig for intra-node communication in
      Nemesis and inter-node communication in network modules (except for
      TCP and SCIF) assume that req->dev.segment_first is zero and
      req->dev.segment_size is the size of data, which is not always true.
      If we stream an RMA operation and issue partial of derived data,
      req->dev.segment_first specifies the current starting location of the data
      and req->dev.segment_size specifies the current ending location of the data.
      Also, the data size should be (req->dev.segment_size - req->dev.segment_first).
      This patch corrects this issue in Nemesis and network modules.
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@anl.gov>
      5132e070
  2. 07 Nov, 2014 1 commit
    • Xin Zhao's avatar
      Move definition of global window counters to nemesis / sock. · a4223bc3
      Xin Zhao authored
      
      
      num_active_issued_win and num_passive_win are counters of
      windows in active ISSUED mode and in passive mode.
      It is modified in CH3 and is used in progress engine of
      nemesis / sock to skip windows that do not need to make
      progress on. Here we define them in mpidi_ch3_pre.h in
      nemesis / sock so that they can be exposed to upper layers.
      Signed-off-by: default avatarMin Si <msi@il.is.s.u-tokyo.ac.jp>
      a4223bc3
  3. 03 Nov, 2014 1 commit
    • Xin Zhao's avatar
      Rewrite all synchronization routines. · 38b20e57
      Xin Zhao authored
      
      
      We use new algorithms for RMA synchronization
      functions and RMA epochs. The old implementation
      uses a lazy-issuing algorithm, which queues up
      all operations and issues them at end. This
      forbid opportunites to do hardware RMA operations
      and can use up all memory resources when we
      queue up large number of operations.
      
      Here we use a new algorithm, which will initialize
      the synchonization at beginning, and issue operations
      as soon as the synchronization is finished.
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@anl.gov>
      38b20e57
  4. 10 Jan, 2014 1 commit
  5. 03 Nov, 2013 1 commit
  6. 31 Oct, 2013 1 commit
  7. 26 Oct, 2013 1 commit
  8. 25 Jan, 2013 2 commits
    • Ralf Gunter's avatar
      Add configure args to selectively enable MPIT pvars. · a4d103b7
      Ralf Gunter authored
      Users can now pass --enable-mpit-pvars to configure to statically
      enable/disable MPIT performance variables so as to limit performance
      impacts only to those variables they need.
      
      Current valid arguments are as follows:
          none     - No performance info recorded
          recvq    - All message queue-related variables
          nem      - All nemesis-related variables
          all      - All variables above
      
      A macro framework is added to facilitate the addition of new variables
      (see MPIR_T_GATE on mpid_common_statistics.h).
      
      Also add a check to the MPIT nemesis test to ensure that the variables
      being tested have been registered with the runtime.
      a4d103b7
    • Ralf Gunter's avatar
      Add MPIT variables and corresponding tests. · 46eacfc7
      Ralf Gunter authored
      The following MPIT performance variables are added:
      
       - nem_fbox_fall_back_to_queue_count;
       - time_failed_matching_postedq;
       - time_matching_unexpectedq;
       - unexpected_recvq_buffer_size.
      
      Some common MPIT-related routines, handle creation functions and
      enable/disable switches are gathered in a common file.
      
      Two test cases are furnished, but not yet integrated with 'make check'.
      46eacfc7
  9. 17 Dec, 2012 1 commit
  10. 23 Oct, 2012 1 commit
  11. 10 Oct, 2012 1 commit
  12. 10 Jul, 2012 1 commit
  13. 24 Apr, 2012 2 commits
  14. 12 Mar, 2012 1 commit
  15. 09 Dec, 2011 1 commit
  16. 10 Mar, 2011 1 commit
  17. 23 Feb, 2011 1 commit
  18. 20 Jan, 2011 2 commits
    • 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
    • David Goodell's avatar
      [svn-r7778] refactor blocking recv safety check into a common macro · e50274a7
      David Goodell authored
      The logic is duplicated in at least two places, leading to a potential error
      in the future when new criteria are added.
      
      Reviewed by balaji@.
      e50274a7
  19. 12 Jan, 2011 1 commit
  20. 11 Jan, 2011 1 commit
  21. 11 Oct, 2010 1 commit
  22. 19 Aug, 2010 1 commit
  23. 28 Apr, 2010 1 commit
    • David Goodell's avatar
      [svn-r6582] delete the ssm and shm channels, along with the "process locks" code · 958dd22a
      David Goodell authored
      These channels are old and have been deprecated for a while.  Their
      presence is hampering PMI API development, so I have removed them.
      These were the only channels seriously using the "process locks" code,
      so that mess has also been deleted.  The only remaining useful
      functionality (MPIDU_Yield) has been moved to the OS wrappers.
      958dd22a
  24. 23 Apr, 2010 1 commit
  25. 31 Mar, 2010 1 commit
  26. 10 Nov, 2009 1 commit
  27. 10 Sep, 2009 2 commits
  28. 08 Aug, 2009 2 commits
  29. 02 Jul, 2009 2 commits
  30. 12 Jun, 2009 1 commit
  31. 11 May, 2009 1 commit
  32. 08 May, 2009 1 commit
  33. 07 May, 2009 1 commit
  34. 06 May, 2009 1 commit