1. 13 Nov, 2014 3 commits
  2. 05 Nov, 2014 2 commits
  3. 04 Nov, 2014 1 commit
  4. 29 Oct, 2014 3 commits
  5. 01 Oct, 2014 1 commit
  6. 11 Sep, 2014 2 commits
  7. 21 Aug, 2014 2 commits
  8. 19 Aug, 2014 1 commit
  9. 31 Jul, 2014 1 commit
    • Junchao Zhang's avatar
      Changed comments from fixed form C to free form ! · 004a5078
      Junchao Zhang authored
      
      
      Usually, Fortran compilers treat .f files as fixed-form F77 code. An exception in IBM XLF.
      Using xlf90 to compile setbotf.f with "C ..." style comments will give errors.
      
      This patch replaces C with !, which makes setbotf.f both fixed-form and free-form compatible.
      Tests showed ! in fixed-form is accepted by all compilers of interest. So xlf90 can still think
      setbotf.f be free-formed.
      
      Fixes #2109.
      Signed-off-by: default avatarAntonio J. Pena <apenya@mcs.anl.gov>
      004a5078
  10. 30 Jul, 2014 1 commit
  11. 12 Jul, 2014 1 commit
    • Junchao Zhang's avatar
      Revised the handle conversion functions in Fortran. · 5adfb9e7
      Junchao Zhang authored
      The f2c/c2f handle conversion functions are only defined in C in the standard.
      We provide non-standard extensions in Fortran. All functions, except MPI_File_f2c/c2f,
      are trival to implement. For MPI_File_f2c/c2f, we bind the Fortran functions to C.
      We do not provide PMPI version for them since it is not required by the standard.
      
      No review since F08 binding is experimental now.
      5adfb9e7
  12. 07 Jul, 2014 3 commits
  13. 19 Jun, 2014 5 commits
  14. 26 May, 2014 1 commit
    • Junchao Zhang's avatar
      Fix a perl script problem met with perl-5.8.8 · 3d3a4b3a
      Junchao Zhang authored
      To print out something like "$vec[$i]->base_addr", where @vec is an integer array,
      the old perl is confused by "->" and thinks it is an operator. In fact, we just want
      to print out "->base_addr" literally. Newer perl (e.g., 5.16.2) is fine with this syntax.
      
      Change to "$vec[$i]"."->base_addr" to avoid this problem.
      
      No review since F08 binding is experimental now.
      3d3a4b3a
  15. 22 May, 2014 6 commits
    • Junchao Zhang's avatar
      Add basic (non)contiguous subarray support · 60059770
      Junchao Zhang authored
      The compile time constant MPI_SUBARRAYS_SUPPORTED is changed to true now.
      
      To test if a subarray is contiguous, one may use CFI_is_contiguous(cdesc). But note that
      CFI_is_contiguous(cdesc) is only applicable to arrays. When cdesc is a descripitor for a scalar,
      CFI_is_contiguous(cdesc) returns false. But apparently, scalars are contiguous in MPI's viewpoint.
      So we add a check against scalars.
      
      No review since F08 binding is experimental now.
      60059770
    • Junchao Zhang's avatar
      Add the missing mpi_c_interface.F90 in makefile · 59acd452
      Junchao Zhang authored
      No review since F08 binding is experimental now.
      59acd452
    • Junchao Zhang's avatar
      Comment out c_funptr code due to Cray ftn bugs · 8ad3b137
      Junchao Zhang authored
      A small test case written by Bill Long. The err msg reported by the Cray compiler is :
      "If the C_PTR_2 argument is specified for the C_ASSOCATED intrinsic, it must have the same type as the C_PTR_1 argument."
      
      subroutine test (f, g, same)
        use,intrinsic :: iso_c_binding
        external :: f, g
        logical  :: same
        type(c_funptr) :: fp
        type(c_funptr) :: gp
      
        fp = c_funloc(f)
        gp = c_funloc(g)
      
        same = c_associated (fp, gp)          ! This gives the error
        same = c_associated (fp, c_funloc(g)) ! This gives the error too.
      end subroutine test
      
      No review since F08 binding is experimental now.
      8ad3b137
    • Junchao Zhang's avatar
      Fix whole array access errs on assumed-size arrays · a20b3882
      Junchao Zhang authored
      No review since F08 binding is experimental now.
      a20b3882
    • 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
    • Junchao Zhang's avatar
      Code cleanup · 1c2b3d35
      Junchao Zhang authored
      No review since F08 binding is experimental now.
      1c2b3d35
  16. 30 Apr, 2014 7 commits
    • Pavan Balaji's avatar
      build system fixes for f08 · 1aa13314
      Pavan Balaji authored
      No review since F08 binding is experimental now.
      1aa13314
    • Junchao Zhang's avatar
      Update the build system to include F08 binding · b7cd3b72
      Junchao Zhang authored
      This includes a configure test to check if the compiler supports F08.
      
      No review since F08 binding is experimental now.
      b7cd3b72
    • Junchao Zhang's avatar
      Add a script use_mpi_f08/wrappers_c/buildiface · 5633c4a2
      Junchao Zhang authored
      This script is used to generate C wrapper files
      
      No review since F08 binding is experimental now.
      5633c4a2
    • Junchao Zhang's avatar
      Add a script use_mpi_f08/buildiface · 19cca6bc
      Junchao Zhang authored
      The script will
      1) generate PMPI files. For PMPI specific procedure names, we use PMPIR_* instead
         of PMPI_*, since the later is reserved by MPI.
      2) generate use_mpi_f08/Makefile.mk
      
      No review since F08 binding is experimental now.
      19cca6bc
    • 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
      Remove support subarray in mpi_f08_constants.f90 · f653bd7c
      Junchao Zhang authored
      The MPI-3 standard is broken in a bunch of ways with respect to
      subarrays support.  For example, it is unclear as to which functions
      can be passed a subarray and which cannot.  This is being fixed by the
      WG.  In the meanwhile, we'll disable subarray types.
      
      No review since F08 binding is experimental now.
      f653bd7c
    • 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