1. 12 Jun, 2015 1 commit
  2. 29 May, 2015 1 commit
  3. 22 May, 2015 1 commit
  4. 29 Apr, 2015 1 commit
  5. 28 Apr, 2015 1 commit
  6. 24 Apr, 2015 1 commit
  7. 10 Apr, 2015 1 commit
  8. 09 Mar, 2015 1 commit
  9. 27 Feb, 2015 1 commit
  10. 05 Dec, 2014 1 commit
  11. 13 Nov, 2014 2 commits
  12. 08 Nov, 2014 1 commit
  13. 18 Jul, 2014 1 commit
  14. 31 May, 2014 2 commits
    • Huiwei Lu's avatar
      Adds two tests to MPI_Comm_idup · 7e44a0f1
      Huiwei Lu authored
      
      
      Two multi-threaded tests are added for MPI_Comm_idup in
      test/mpi/threads/comm: ctxidup.c and comm_idup.c. The former has passed
      the test but the latter still not (marked in testlist as xfail).
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@anl.gov>
      7e44a0f1
    • Huiwei Lu's avatar
      Fixes MPI_Comm_idup · 05eeccb5
      Huiwei Lu authored
      
      
      This patch fixes two related tickets:
      1. MPI_Comm_idup in multithreaded environments
      2. MPI_Comm_idup fails to create multiple communicators
      Because these two tickets are tightly coupled, so they are fixed in this
      single patch.
      
      The original code did not consider the multithreaded case and did not
      use progress engine in correct order when saving a copy of global mask
      to local thread.
      
      Following changes were made to implement the MPI_Comm_idup correctly:
      
      1. It shares the same global flag 'mask_in_use' with other communicator
      functions to protect access to context_mask. And use CONTEXTID lock to
      protext critical sections.
      
      2. It uses the same algorithm as multithreaded MPI_Comm_dup
      (multi-threaded vertion of MPIR_Get_contextid_sparse_group) to allocate
      a context id, but in a nonblocking way. In the case of conflicts, the
      algorithm needs to retry the allocation process again. In the
      nonblocking algorithm, 1) new entries are inserted to the end of
      schedule to replace the 'while' loop in MPI_Comm_dup algorithm; 2) all
      arguments passed to sched_get_cid_nonblock are saved to gcn_state in
      order to be called in the future; 3) in sched_cb_gcn_allocate_cid, if
      the first try failed, it will insert sched_cb_gcn_copy_mask to the
      schedule again.
      
      3. There is a subtle difference between INTRACOMM and INTERCOMM when
      duplicating a communicator.  They needed to be treated differently in
      current algorithm. Specifically, 1) when calling sched_get_cid_nonblock,
      the parameters are different; 2) updating newcommp->recvcontext_id in
      MPIR_Get_intercomm_contextid_nonblock has been moved to
      sched_cb_gcn_bcast because this should happen after
      sched_cb_gcn_allocate_cid has succeed.
      
      Fixes #1935
      Fixes #1913
      Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@anl.gov>
      05eeccb5
  15. 30 Apr, 2014 1 commit
    • Kenneth Raffenetti's avatar
      convert f90 tests to f08 · fd3f06f6
      Kenneth Raffenetti authored
      Copies a sampling of tests from the f90 directory and converts them
      to use the f08 bindings.
      
      No review since it is experimental.
      fd3f06f6
  16. 27 Jan, 2014 1 commit
  17. 04 Dec, 2013 1 commit
  18. 03 Dec, 2013 1 commit
  19. 07 Nov, 2013 1 commit
  20. 01 Nov, 2013 1 commit
  21. 29 Oct, 2013 1 commit
  22. 26 Oct, 2013 1 commit
  23. 22 Sep, 2013 1 commit
    • Junchao Zhang's avatar
      Add a test mpit_vars.c to print all MPI_T stuffs · 66d87263
      Junchao Zhang authored
      In verbose mode, mpit_vars.c prints all MPI_T control variables, performance
      variables and categories defined in the MPI implementation.
      
      It is adapted from the code provided Bill Gropp.
      It needs more refinement when printing hierarchical categories.
      
      Also added mpit_vars to .gitignore.
      66d87263
  24. 02 Aug, 2013 1 commit
    • William Gropp's avatar
      Added Fortran tests for a few PMPI routines · b3049e5a
      William Gropp authored
      Added test to help check #1815, as weak symbol support is used to
      implement the PMPI and MPI routines in a single object file, and there
      are few tests for correct operation of the PMPI routines in the
      test suite (a more comprehensive test of PMPI could use CPP macros to
      convert all existing tests to try PMPI, but typically either the PMPI
      routines are all available, or there is a problem.
      b3049e5a
  25. 18 May, 2013 1 commit
  26. 05 Apr, 2013 1 commit