1. 13 Feb, 2015 1 commit
  2. 31 Jan, 2015 1 commit
  3. 30 Jan, 2015 3 commits
    • Wesley Bland's avatar
      Add MPIC_Issend · 6556f351
      Wesley Bland authored
      
      
      Part of converting the NBC code to use the MPIC_* functions requires
      an MPIC_Issend function to exist. This adds it.
      Signed-off-by: default avatarHuiwei Lu <huiweilu@mcs.anl.gov>
      6556f351
    • Wesley Bland's avatar
      Refactor MPIC functions to use the MPID objects · 54362c00
      Wesley Bland authored
      
      
      The MPIC helper functions have been using MPI_Comm and MPI_Request
      objects instead of their MPID_* counterparts. This leads to a bunch of
      unnecessary conversions back and forth between the two types of objects
      and makes the work incompatible with other parts of the codebase
      (non-blocking collectives for instance).
      
      This patch converts all of the MPIC_* functions to use MPID_Comm and
      MPID_Request and changes all of the collective calls to use them now
      too.
      Signed-off-by: default avatarHuiwei Lu <huiweilu@mcs.anl.gov>
      54362c00
    • Wesley Bland's avatar
      Refactor MPIC_Wait to return an errflag · c04f0851
      Wesley Bland authored
      
      
      The collective helper functions generally have an errflag that is used
      when a failure is detected to allow the collective to continue while
      also communicating that a failure occurred. That flag is now included
      as a parameter for MPIC_Wait.
      
      The rest of this commit is the refactoring necessary in the rest of the
      helper functions to support the change.
      Signed-off-by: default avatarHuiwei Lu <huiweilu@mcs.anl.gov>
      c04f0851
  4. 27 Jan, 2015 1 commit
  5. 22 Jan, 2015 1 commit
    • Huiwei Lu's avatar
      FT: Fixes ref counts in shrink and agree · 93e816cc
      Huiwei Lu authored
      
      
      When process fails, fault tolerance scheme takes a different path to
      deal with MPI object reference counts than the existing one. Some
      reference counts were not properly set in FT path so when configured
      with --enable-g=all, some ft tests will show leaked context id, dirty
      COMM, GROUP and REQUEST objects and so on when exit.
      
      This patch fixes ft/shrink and ft/agree with "--enable-g=all". Stack
      allocated objects of requests, communicators and groups will be freed by
      FT.
      Signed-off-by: default avatarWesley Bland <wbland@anl.gov>
      93e816cc
  6. 12 Nov, 2014 3 commits
    • Wesley Bland's avatar
      Correctly handle errflag in MPI collectives · 47f62b0c
      Wesley Bland authored
      
      
      The MPI collectives get and set the errflag used by the collective
      helper functions (MPIC_*). The possible values of the errflag changed,
      so the collective functions need to appropriately set this value using
      either MPIR_ERR_NONE (MPI_SUCCESS), MPIR_ERR_PROC_FAILED
      (MPIX_ERR_PROC_FAILED), or MPIR_ERR_OTHER (MPI_ERR_OTHER).
      
      This should allow collectives to correctly report process failures when
      they occur now, fixing the FT tests that use collectives (see #1945).
      Signed-off-by: default avatarHuiwei Lu <huiweilu@mcs.anl.gov>
      47f62b0c
    • Wesley Bland's avatar
      Change errflag to be an enum · 3850e6bf
      Wesley Bland authored
      
      
      The errflag value being used in the MPIC helper functions only
      propagated whether or not an error occurred. It did not contain any
      information about what kind of error occurred, which made returning the
      correct error code after a process failure impossible.
      
      This patch converts the binary value to an enum with three options:
      MPIR_ERR_NONE
      MPIR_ERR_PROC_FAILED
      MPIR_ERR_OTHER
      
      The original use of TRUE and false maps to MPIR_ERR_NONE and
      MPIR_ERR_OTHER.
      
      MPIR_ERR_PROC_FAILED indicates that the error occurred
      because of a process failure. It uses the new bit set aside from the tag
      space to track such information between processes.
      
      This change required modifying lots of function signatures and type
      declarations to use the new enum type, but these are actually not very
      intrusive changes and shouldn't be a problem going forward.
      Signed-off-by: default avatarHuiwei Lu <huiweilu@mcs.anl.gov>
      3850e6bf
    • Wesley Bland's avatar
      Take a bit in the tag space for proc failure · 46f59276
      Wesley Bland authored
      
      
      We need to take another bit from the tag space to specify the difference
      between a generic failure and a process failure. This patch modifies the
      macros to handle this situation.
      Signed-off-by: default avatarHuiwei Lu <huiweilu@mcs.anl.gov>
      46f59276
  7. 23 Oct, 2014 2 commits
    • Wesley Bland's avatar
      Fix typo in 72513b14 · 4b20f2d2
      Wesley Bland authored
      4b20f2d2
    • Wesley Bland's avatar
      Remove _FT from state names · 72513b14
      Wesley Bland authored
      Back in the 3.1 series, we made the FT versions of all of the MPIC functions
      default. However, we never changed the names of all of the states. This
      removes the extra state names.
      
      No reviewer.
      72513b14
  8. 21 Oct, 2014 1 commit
  9. 20 Oct, 2014 1 commit
  10. 14 Oct, 2014 1 commit
  11. 31 Jul, 2014 1 commit
  12. 18 Apr, 2014 1 commit
    • Wesley Bland's avatar
      Makes sure that the status object is always defined · cdd8e0b7
      Wesley Bland authored
      
      
      In the MPIC_Sendrecv functions, the status object should always be defined
      since we use it internally. This won't have any impact on performance since
      the default is always to have FT collectives turned on anyway, but it will
      prevent a crash when someone overwrites that default.
      
      Fixes #2026
      Signed-off-by: Sangmin Seo's avatarSangmin Seo <sseo@anl.gov>
      cdd8e0b7
  13. 19 Dec, 2013 1 commit
  14. 31 Oct, 2013 1 commit
  15. 26 Oct, 2013 1 commit
  16. 28 Sep, 2013 1 commit
  17. 26 Sep, 2013 1 commit
  18. 29 Jul, 2013 1 commit
  19. 25 Jul, 2013 17 commits