1. 07 Jul, 2014 1 commit
  2. 22 May, 2014 1 commit
    • Junchao Zhang's avatar
      Revise impl of MPI_IN_PLACE and MPI_BOTTOM · 9008c2f7
      Junchao Zhang authored
      Since Fortran forbids passing a disassociated (e.g., NULL) pointer to a non-pointer dummy argument
      (e.g., an assumed-type, assumed-rank argument), we can not use the same MPI_BOTTOM value in C from Fortran.
      So we use another approach.
      
      See implementation details at the EuroMPI-2014 paper "Implementing the MPI-3.0 Fortran 2008 Binding"
      
      No review since F08 binding is experimental now.
      9008c2f7
  3. 30 Apr, 2014 2 commits
    • Junchao Zhang's avatar
      Add an almost complete F08 binding with dir re-arranged · 4b0e4744
      Junchao Zhang authored
      Redesigned the binding infrastructer and gave an almost complete F08 binding.
      Remaining tasks include :
      
      1) supporting non-contiguous subarray on the C wrapper side.
      2) Use a script to autoset the now hard-coded compile time constants.
      
      The directory structure is as following:
      
      use_mpi_f08/                      --- To put F08 binding header files
      use_mpi_f08/wrappers_f/           --- To put Fortran wrapper files
      use_mpi_f08/wrappers_f/profiling/ --- To put PMPI Fortran wrapper files
      use_mpi_f08/wrappers_c/           --- To put C wrapper files (auto-gen'ed or not)
      
      Note we use *.F90 suffix instead of *.f90, since .F90 supports macro preprocess.
      This leaves room for future revision. Additionally, the tests directory is removed
      since it should not be there.
      
      No review since F08 binding is experimental now.
      4b0e4744
    • Junchao Zhang's avatar
      Add an example f08 binding · c00d4008
      Junchao Zhang authored
      The code is provided by Steve Oyanagi and Bill Long from Cray.
      
      No review since F08 binding is experimental now.
      c00d4008
  4. 01 Jan, 2014 1 commit
    • Junchao Zhang's avatar
      Disable Clang's type checking for MPI_2INT · fb17d2b0
      Junchao Zhang authored
      Type checking for MPI_2INT is commented out because Clang 3.3 flags
      struct {int i1; int i2;} as different from int[2]. But actually these
      two types are of the same layout. Clang gives a type mismatch warning
      for a definitely correct code like the following:
       int in[2], out[2];
       MPI_Reduce(in, out, 1, MPI_2INT, MPI_MAXLOC, 0, MPI_COMM_WORLD);
      
      So, we disable type checking for MPI_2INT until Clang fixes this bug.
      
      Fixes #1993
      
      Signed off by Rajeev Thakur <thakur@mcs.anl.gov>
      fb17d2b0
  5. 29 Oct, 2013 1 commit
  6. 26 Oct, 2013 1 commit
  7. 18 Oct, 2013 1 commit
  8. 22 Sep, 2013 1 commit
  9. 21 Sep, 2013 1 commit
  10. 01 Aug, 2013 1 commit
  11. 05 Mar, 2013 3 commits
  12. 09 Jan, 2013 2 commits
  13. 31 Dec, 2012 1 commit
  14. 15 Dec, 2012 1 commit
  15. 09 Dec, 2012 1 commit
  16. 07 Nov, 2012 7 commits
  17. 06 Nov, 2012 3 commits
    • David Goodell's avatar
      [svn-r10558] use MPI_Count in MPI_Status · ed089ed8
      David Goodell authored
      This commit actually does a few things to the status object:
      
      (1) `int count` becomes `MPI_Count count`;
      (2) `count` & `cancelled` have been reordered after the "public"
      fields (e.g., MPI_TAG) to ensure that direct access from Fortran is
      not somehow broken by the (potentially) non-INTEGER count field;
      (3) and a new future-proofing field, `abi_slush_fund`, has been added to
      attempt to allow us to add fields to the status object in the future
      without having to break ABI compatibility.
      
      There's still too much duplication of the status object's contents/layout
      in multiple pieces of the code, but I don't see a reasonable way to fix
      this in the near term.
      
      Warning: large count breaks the experimental Fortran binding code
      generated for handling the "sizeof(int)!=sizeof(MPI_Fint)" case.
      
      Reviewed by balaji@.
      ed089ed8
    • David Goodell's avatar
      [svn-r10557] MPI_Count: auto-generated boilerplate · 088c4106
      David Goodell authored
      This commit is largely auto-generated boilerplate for the following
      "large count" routines:
      
      * MPI_Get_elements_x
      * MPI_Type_get_extent_x
      * MPI_Type_get_true_extent_x
      * MPI_Type_size_x
      * MPI_Status_set_elements_x
      
      None of these routines actually _do_ anything (not even assert/error
      out) as implemented.  But this makes it very easy to review the logic of
      the implementation later on in the succeeding smaller commits.
      
      Reviewed by balaji@.
      088c4106
    • David Goodell's avatar
      [svn-r10556] MPI_Count: add MPI_Count/MPI_COUNT_KIND · b2786132
      David Goodell authored
      This commit only contains the build system and mpi.h modifications
      necessary for `MPI_Count` to be a valid new type.  It does *not*
      actually use this new type anywhere, such as in MPI_Status.
      
      Reviewed by balaji@.
      b2786132
  18. 05 Nov, 2012 5 commits
    • Pavan Balaji's avatar
      [svn-r10545] Use better naming convention than that specified in the MPI standard · 741d33dc
      Pavan Balaji authored
      for MPI_Type_create_f90_{integer,real,complex}.
      
      Reviewed by dinan.
      741d33dc
    • Pavan Balaji's avatar
      [svn-r10544] Cleanup pass on mpi.h.in and mpio.h.in · 8bb71a57
      Pavan Balaji authored
      Made a cleanup pass on mpi.h.in and the function definitions to make
      mpi.h.in consistent with the MPI standard.
      
      1. The usage of "*" vs. "[]" was not consistent with the MPI standard
      (aside from the consistency changes added in tickets 125 and 126 in
      MPI-3).  This commit makes this notation consistent.
      
      2. Consistently provide function parameter names for all MPI
      functions.  Some functions had parameter names, while others did not.
      
      3. Consistently use line-breaks for all function prototypes.  Some
      prototypes were on a single line, while others were split across
      lines.
      
      4. Reorder prototypes to better place them in sections (e.g., all
      collectives go to the same section).  Move all PMPI definitions to the
      PMPI section.  Move all MPIX_ extension functions to the same section.
      
      The following prototypes are different from that given in the
      standard; we use "indx" instead of "index" or "binding" instead of
      "bind", to avoid conflicts with preused variable names: MPI_Waitany,
      MPI_Testany, MPI_Graph_create, MPI_Graph_get, MPI_Graph_map,
      MPI_T_enum_get_item, MPI_T_cvar_get_info, MPI_T_pvar_get_info.
      
      Reviewed by dinan.
      8bb71a57
    • Pavan Balaji's avatar
      [svn-r10543] Removed dead code from mpi.h.in. · dbd3a0ab
      Pavan Balaji authored
      Reviewed by dinan.
      dbd3a0ab
    • James Dinan's avatar
      [svn-r10532] Add MPICH_ATTR_POINTER_WITH_TYPE_TAG to MPI-3 RMA functions · d24897bd
      James Dinan authored
      This patch adds missing attributes to MPI-3 RMA functions.  Patch provided by
      Dmitri Gribenko.
      
      Reviewer: dinan
      d24897bd
    • James Dinan's avatar
      [svn-r10531] Refactored struct and enum naming to MPICH style · 7e179a85
      James Dinan authored
      Updated RMA code to remove trailing "_e" and "_s" on enum and struct type
      names to match the MPICH style.
      
      Reviewer: goodell
      7e179a85
  19. 31 Oct, 2012 1 commit
  20. 25 Oct, 2012 1 commit
  21. 24 Oct, 2012 1 commit
  22. 23 Oct, 2012 1 commit
  23. 21 Oct, 2012 1 commit
  24. 19 Oct, 2012 1 commit