1. 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
  2. 01 Apr, 2014 1 commit
    • Pavan Balaji's avatar
      Move symbols to correct libraries. · 9c337914
      Pavan Balaji authored and Kenneth Raffenetti's avatar Kenneth Raffenetti committed
      
      
      Maintain a list of files that go into each library.  If a particular
      binding is not enabled, the list variable still exists, but will just
      be empty.  This simplifies the management of which files/symbols go
      into which library.
      
      Move all MPI_ symbols to the libmpi library and all other symbols to
      the libpmpi library.  All Fortran 77 symbols go into libmpif77.so,
      while C symbols go into libmpi.so.  There are some exceptions, such as
      status_f2c, which are handled by the Fortran code but used in C.  Our
      Fortran 90 build only creates a few symbols and uses the f77 symbols
      for everything else.  These few symbols go into libmpifort.so.
      
      Also update compiler wrappers to link to correct libraries.  mpif77
      should now link with libmpif77.  mpif90 links with both libmpifort and
      libmpif77, since our F90 build still keeps the core Fortran library
      symbols in libf77.
      
      We completely ignored the F77 library earlier.  This was OK because
      all of the Fortran symbols were ending up in libmpi.  Now that we have
      separated out the symbols to the right library, we now need to link to
      libmpif77 as well.
      
      Also added inter-library dependencies.
      
      libmpi has a dependency on several internal libraries: libmpl, libopa.
      libmpicxx did not have a dependency on libmpi, added.
      libmpif77 did not have a dependency on libmpi, added.
      libmpifort did not have a dependency on libmpi, added.
      
      This dependency model is sufficient for C and F77, but not for C++ and
      F90.  The C and F77 libraries contain all the symbols the application
      relies on, but the F90 and C++ libraries don't.  In the case of F90,
      symbols such as mpi_bcast are missing and are borrowed from the F77
      library.  In the case of C++, mpicxx.h contains calls directly to C
      functions (such as MPI_Reduce_local), which get embedded into the
      application.
      
      Fixes #2023.
      Signed-off-by: Kenneth Raffenetti's avatarKen Raffenetti <raffenet@mcs.anl.gov>
      9c337914
  3. 26 Feb, 2014 1 commit
  4. 29 Oct, 2013 1 commit
  5. 26 Oct, 2013 1 commit
  6. 17 Dec, 2012 1 commit
  7. 05 Nov, 2012 1 commit
  8. 26 Oct, 2012 2 commits
  9. 25 Oct, 2012 1 commit
  10. 24 Oct, 2012 1 commit
  11. 23 Oct, 2012 1 commit
  12. 12 Oct, 2012 1 commit
  13. 10 Oct, 2012 1 commit
  14. 03 Oct, 2012 3 commits
  15. 11 Sep, 2012 1 commit
  16. 07 Sep, 2012 2 commits
  17. 29 Aug, 2012 1 commit
  18. 17 Aug, 2012 1 commit
  19. 30 Jul, 2012 1 commit