1. 01 Apr, 2013 5 commits
    • 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
    • Ralf Gunter's avatar
      Add info hint support to communicators. · 9bb89788
      Ralf Gunter authored
      Communicators now accept info hints both at creation time
      (`MPI_Comm_dup_with_info`) as well as at any later point in their
      life cycle (`MPI_Comm_set_info`).
      Hints are stored in a hash table, and may be added by defining a
      function of type
        int fun(MPID_Comm *, MPID_Info *, void *)
      which applies the hint to the communicator, and then registered with
      MPICH via the function `MPIR_Comm_register_hint_fn`. The third
      (optional) argument can be used to pass extra data to the handler, such
      as local context from when it was registered with the runtime.
      Reviewed-by: goodell
    • Dave Goodell's avatar
      add `mpiu_uthash.h` · 317d5828
      Dave Goodell authored
      With a couple of MPICH-specific tweaks.
      The `mx` netmod uses a non-namespaced "uthash.h" file based on an older
      version of the package.  This is probably OK for now, but we run the
      risk of symbol conflict and the update is nontrivial since the API
      changed between the two versions.
      No reviewer.
    • Ralf Gunter's avatar
      VCs now use eager threshold from environment var. · dcfe70c2
      Ralf Gunter authored
      Previously only the Nemesis shared memory eager threshold could be
      changed via an environment variable.  Now the default (if not overridden
      by the netmod) eager/rendezvous threshold can also be set via an
      environment variable.
      Reviewed-by: goodell@
    • Dave Goodell's avatar
      .gitignore: test directory autogenerated files · 25661856
      Dave Goodell authored
      I think these files were introduced in [8a9a743f].
      No reviewer.
  2. 28 Mar, 2013 4 commits
  3. 21 Mar, 2013 2 commits
  4. 19 Mar, 2013 1 commit
    • James Dinan's avatar
      Fix Irecv race in wait/test_all/any/some err tests · 803fda10
      James Dinan authored
      This fixes a race in the ERR_IN_STATUS tests for wait/test_all/any/some
      tests.  In these tests, there was a race that could cause the tested
      error to occur within the Irecv call, rather than the wait/test call
      (expected behavior).  This race was happening when MPICH_ASYNC_PROGRESS
      was enabled.  It should be noted that tests tests still rely on
      non-standard behavior, in particular some/any calls are expected to
      complete all operations.  This closes ticket #1802.
      Reviewer: balaji
  5. 15 Mar, 2013 3 commits
    • James Dinan's avatar
      Add additional wait/test cases to Req. ops. test · 5ac51edf
      James Dinan authored
      This adds additional cases to the request-generation RMA operations test
      case that ensures the implementation correctly handles waiting on the
      request inside of the same passive target epoch, a different passive
      target epoch, a different fence epoch, and no epoch.
      Reviewer: goodell
    • James Dinan's avatar
      Fix req. op. completion outside of PT epoch · 9f3b1234
      James Dinan authored
      This is a temporary fix for request-generating operations to allow their
      requests to be completed after the user has called unlock on the given
      target.  This closes ticket #1801.  Ticket #1741 is still active and is
      keeping track of the fact that an implementation of req. ops that tracks
      and completes individual operations (rather than the current approach,
      which just calls flush) is still needed.
      Reviewer: goodell
    • Pavan Balaji's avatar
      Bug-fix: correct MPIR_proctable setup when we use wraparound ranks. · e04dd4b6
      Pavan Balaji authored
      As reported by John DelSignore @ Roguewave, when we wraparound ranks
      among nodes, we were not allocating the MPIR_proctable structure in
      rank order.  We were always grouping them per node.
      Reviewed by dinan.
  6. 12 Mar, 2013 1 commit
    • Dave Goodell's avatar
      `--enable-g=all` now means _all_, add `=most` · 4b6df5cd
      Dave Goodell authored
      Before this commit `--enable-g` meant `--enable-g=all`, which actually
      turned on all debugging options *except* `memarena` and `handle`.
      As of this commit:
       * `most` is a new valid debug option having the old effect of
       * `all` really means everything now, including `memarena` and `handle`
       * `--enable-g` with no `=BLAH` means `most`
      Reviewed by balaji@.
  7. 07 Mar, 2013 1 commit
  8. 06 Mar, 2013 2 commits
  9. 05 Mar, 2013 8 commits
    • Dave Goodell's avatar
      Merge branch 'fix-long-double' · 0feb67a6
      Dave Goodell authored
      Numerous fixes related to `long double` support, including selectively
      enabling/disabling it.
    • Dave Goodell's avatar
      mpi.h: guard `long double`-derived MPI types · 90939951
      Dave Goodell authored
      Probably not too harmful to omit the guards, but better not to jumble
      more constants together in the compiler's type-checking machinery.
      No reviewer.
    • Dave Goodell's avatar
      clang annotations: fix `long double _Complex' · 71552aac
      Dave Goodell authored
      Obvious bug.
      No reviewer.
    • Dave Goodell's avatar
      `long double _Complex` depends on `long double` · a9305613
      Dave Goodell authored
      It was possible to have a working `long double _Complex` even if the MPI
      library was pretending that `long double` should not work.
      Ditto for the C++ version.
      No reviewer.
    • Dave Goodell's avatar
      configure: add `--disable-long-double` · afe8c4a4
      Dave Goodell authored
      This helps Cray out (and conceivably other vendors), since they ship
      several compilers which have different interpretations of what `long
      double` should mean (80-bit vs. 128-bit, being most common).
      Note that exporting `MPID_NO_LONG_DOUBLE=yes` in the environment before
      running `configure` does work, but may not work as intended in the face
      of an automake-initiated reconfigure.  Autoconf does not treat this
      variable as precious (and we don't ask it to, since it's for
      inside-configure-use only), so its value will not be preserved for the
      reconfigure.  The same holds for any `MPID_` variables mentioned at the
      top of `configure.ac`.
      No reviewer.
    • Dave Goodell's avatar
      fix compile error when `long double` is disabled · 3f1fcead
      Dave Goodell authored
      Otherwise `oputil.h` barfs on a bad preprocessor comparison when
      `MPID_NO_LONG_DOUBLE` is set.
      Fix reported by and suggested by Steve Oyanagi from Cray.
      No reviewer.
    • Dave Goodell's avatar
      move `_NULL` handle definitions earlier in mpi.h · d9db47ae
      Dave Goodell authored
      In particular, the clang type checking helpers can cause
      `MPI_DATATYPE_NULL` to be used before it has been `#define`d.
      No reviewer.
    • Dave Goodell's avatar
      .gitignore: fixup for [006dd97e] · bba79775
      Dave Goodell authored
  10. 01 Mar, 2013 6 commits
  11. 28 Feb, 2013 2 commits
  12. 25 Feb, 2013 1 commit
    • James Dinan's avatar
      Added missing CS ENTER/EXIT guards to type_commit · 59e48128
      James Dinan authored
      MPI_Type_commit was missing CS ENTER/EXIT guards, which may be causing a
      conflict with RMA code that creates derived datatypes at the target
      process, when MPICH_ASYNC_PROGRESS is specified.  This may have fixed #1766.
      Reviewer: goodell
  13. 22 Feb, 2013 4 commits