[mpich] MPICH primary repository branch, master, updated. v3.2b3-165-g931b5db
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "MPICH primary repository". The branch, master has been updated via 931b5dbcb34c2e3d2c4bedc1dd5e08908a18520e (commit) via a9631042bb787caf3dad252568a34059635ac5c0 (commit) via 1faf56639e809a85fcf49ddf7e1c09d6d5ec8de7 (commit) via 288591be9e4dc82e3e18be8f84de5dcf4552f071 (commit) from fb1985578bdc6858e4b3a15a8775e6b9868dc0f8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://git.mpich.org/mpich.git/commitdiff/931b5dbcb34c2e3d2c4bedc1dd5e08908a... commit 931b5dbcb34c2e3d2c4bedc1dd5e08908a18520e Author: Junchao Zhang <[email protected]> Date: Fri Jun 26 15:14:16 2015 -0500 Move MPI dataypes out of array initialization So that the tests are also compilable with other MPI implementations such as OpenMPI, where predefined MPI dataypes are not compile-time constants. No reviewer diff --git a/test/mpi/f08/datatype/get_elem_d.f90 b/test/mpi/f08/datatype/get_elem_d.f90 index 500ffb5..cef411c 100644 --- a/test/mpi/f08/datatype/get_elem_d.f90 +++ b/test/mpi/f08/datatype/get_elem_d.f90 @@ -20,7 +20,7 @@ program get_elem_d TYPE(MPI_Status) :: status integer :: i,ii,count,ka,j,jj,k,kj integer :: blklen(nb)=(/2,2/) - TYPE(MPI_Datatype) :: types(nb)=(/MPI_DOUBLE_PRECISION,MPI_INTEGER/) + TYPE(MPI_Datatype) :: types(nb) integer(kind=MPI_ADDRESS_KIND) :: disp(nb) integer :: ntlen,ians(20),ians0(0:3),ians1(24),ians2(20) TYPE(MPI_Datatype) :: newtype @@ -30,6 +30,8 @@ program get_elem_d call MPI_Init(ierror) comm=MPI_COMM_WORLD + types(1) = MPI_DOUBLE_PRECISION + types(2) = MPI_INTEGER call MPI_Comm_size(comm, size, ierror) dest=size-1 call MPI_Comm_rank(comm, rank, ierror) diff --git a/test/mpi/f08/datatype/get_elem_u.f90 b/test/mpi/f08/datatype/get_elem_u.f90 index e972a69..1b4f113 100644 --- a/test/mpi/f08/datatype/get_elem_u.f90 +++ b/test/mpi/f08/datatype/get_elem_u.f90 @@ -18,7 +18,7 @@ PROGRAM get_elem_u INTEGER, PARAMETER :: nb=2 INTEGER :: blklen(nb)=(/1,1/) - TYPE(MPI_DATATYPE) :: types(nb)=(/MPI_DOUBLE_PRECISION,MPI_CHAR/) + TYPE(MPI_DATATYPE) :: types(nb) INTEGER(kind=MPI_ADDRESS_KIND) :: disp(nb)=(/0,8/) INTEGER, PARAMETER :: amax=200 @@ -29,6 +29,8 @@ PROGRAM get_elem_u errs = 0 CALL MPI_Init( ierr ) COMM = MPI_COMM_WORLD + types(1) = MPI_DOUBLE_PRECISION + types(2) = MPI_CHAR CALL MPI_Comm_rank(COMM,RANK,IERR) CALL MPI_Comm_size(COMM,SIZE,IERR) dest=size-1 diff --git a/test/mpi/f90/datatype/get_elem_d.f90 b/test/mpi/f90/datatype/get_elem_d.f90 index 45130ce..a0ac661 100644 --- a/test/mpi/f90/datatype/get_elem_d.f90 +++ b/test/mpi/f90/datatype/get_elem_d.f90 @@ -19,7 +19,7 @@ program get_elem_d integer :: status(MPI_STATUS_SIZE) integer :: i,ii,count,ka,j,jj,k,kj integer :: blklen(nb)=(/2,2/) - integer :: types(nb)=(/MPI_DOUBLE_PRECISION,MPI_INTEGER/) + integer :: types(nb) integer(kind=MPI_ADDRESS_KIND) :: disp(nb) integer :: newtype,ntlen,ians(20),ians0(0:3),ians1(24),ians2(20) double precision :: dbuff(dmax), a @@ -28,6 +28,8 @@ program get_elem_d call MPI_Init(ierror) comm=MPI_COMM_WORLD + types(1) = MPI_DOUBLE_PRECISION + types(2) = MPI_INTEGER call MPI_Comm_size(comm, size, ierror) dest=size-1 call MPI_Comm_rank(comm, rank, ierror) diff --git a/test/mpi/f90/datatype/get_elem_u.f90 b/test/mpi/f90/datatype/get_elem_u.f90 index aa9f8fe..0772146 100644 --- a/test/mpi/f90/datatype/get_elem_u.f90 +++ b/test/mpi/f90/datatype/get_elem_u.f90 @@ -17,7 +17,7 @@ PROGRAM get_elem_u INTEGER, PARAMETER :: nb=2 INTEGER :: blklen(nb)=(/1,1/) - INTEGER :: types(nb)=(/MPI_DOUBLE_PRECISION,MPI_CHAR/) + INTEGER :: types(nb) INTEGER(kind=MPI_ADDRESS_KIND) :: disp(nb)=(/0,8/) INTEGER, PARAMETER :: amax=200 @@ -27,6 +27,8 @@ PROGRAM get_elem_u errs = 0 CALL MPI_Init( ierr ) COMM = MPI_COMM_WORLD + types(1) = MPI_DOUBLE_PRECISION + types(2) = MPI_CHAR CALL MPI_Comm_rank(COMM,RANK,IERR) CALL MPI_Comm_size(COMM,SIZE,IERR) dest=size-1 http://git.mpich.org/mpich.git/commitdiff/a9631042bb787caf3dad252568a3405963... commit a9631042bb787caf3dad252568a34059635ac5c0 Author: Junchao Zhang <[email protected]> Date: Fri Jun 26 16:59:26 2015 -0500 Add a mechanism to remove F77 only lines in f77to90 translation No reviewer diff --git a/maint/f77tof90.in b/maint/f77tof90.in index 340b047..7f3d732 100644 --- a/maint/f77tof90.in +++ b/maint/f77tof90.in @@ -144,6 +144,10 @@ sub ConvertToF90 { if (/^CF90/) { s/^CF90/ /; } + # Remove lines used only for F77, such as external MPI function declarations + if (/!\s*F77ONLY\s*$/i) { + $_ = ""; + } # Since we use interface statements for the error handlers, # remove their external declaration if (/^\s+external myerrhanfunc/) { diff --git a/test/mpi/f77/rma/aintf.f b/test/mpi/f77/rma/aintf.f index 88739f6..87464ba 100644 --- a/test/mpi/f77/rma/aintf.f +++ b/test/mpi/f77/rma/aintf.f @@ -21,8 +21,8 @@ integer :: win integer :: intsize - integer(kind=MPI_ADDRESS_KIND), external :: MPI_Aint_add - integer(kind=MPI_ADDRESS_KIND), external :: MPI_Aint_diff + integer(kind=MPI_ADDRESS_KIND), external :: MPI_Aint_add !F77ONLY + integer(kind=MPI_ADDRESS_KIND), external :: MPI_Aint_diff !F77ONLY errs = 0 call mtest_init(ierr); http://git.mpich.org/mpich.git/commitdiff/1faf56639e809a85fcf49ddf7e1c09d6d5... commit 1faf56639e809a85fcf49ddf7e1c09d6d5ec8de7 Author: Junchao Zhang <[email protected]> Date: Fri Jun 26 15:07:09 2015 -0500 Add prototypes of MPI_Aint_add/diff to the F90 mpi module No reviewer diff --git a/src/binding/fortran/use_mpi/buildiface b/src/binding/fortran/use_mpi/buildiface index cc6dc72..a2e5939 100755 --- a/src/binding/fortran/use_mpi/buildiface +++ b/src/binding/fortran/use_mpi/buildiface @@ -450,6 +450,18 @@ if ($is_MPI) { \@WTIME_DOUBLE_TYPE\@ MPI_WTICK END FUNCTION MPI_WTICK + FUNCTION MPI_AINT_ADD(base, disp) + USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND + INTEGER(KIND=MPI_ADDRESS_KIND) MPI_AINT_ADD + INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: base, disp + END FUNCTION MPI_AINT_ADD + + FUNCTION MPI_AINT_DIFF(addr1, addr2) + USE MPI_CONSTANTS,ONLY: MPI_ADDRESS_KIND + INTEGER(KIND=MPI_ADDRESS_KIND) MPI_AINT_DIFF + INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: addr1, addr2 + END FUNCTION MPI_AINT_DIFF + ! style:PMPIuse:PMPI_WTIME:3 sig:0 FUNCTION PMPI_WTIME() \@WTIME_DOUBLE_TYPE\@ PMPI_WTIME http://git.mpich.org/mpich.git/commitdiff/288591be9e4dc82e3e18be8f84de5dcf45... commit 288591be9e4dc82e3e18be8f84de5dcf4552f071 Author: Junchao Zhang <[email protected]> Date: Fri Jun 26 14:55:59 2015 -0500 Move (P)MPI_Aint_add/diff up before (P)MPI_T No reviewer diff --git a/src/include/mpi.h.in b/src/include/mpi.h.in index 41387a7..39cdec3 100644 --- a/src/include/mpi.h.in +++ b/src/include/mpi.h.in @@ -1494,6 +1494,9 @@ int MPI_Type_size_x(MPI_Datatype datatype, MPI_Count *size); /* Noncollective communicator creation */ int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm); +/* MPI_Aint addressing arithmetic */ +MPI_Aint MPI_Aint_add(MPI_Aint base, MPI_Aint disp); +MPI_Aint MPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2); /* MPI_T interface */ /* The MPI_T routines are available only in C bindings - tell tools that they @@ -1548,9 +1551,6 @@ int MPIX_Comm_revoke(MPI_Comm comm); int MPIX_Comm_shrink(MPI_Comm comm, MPI_Comm *newcomm); int MPIX_Comm_agree(MPI_Comm comm, int *flag); -/* MPI_Aint addressing arithmetic */ -MPI_Aint MPI_Aint_add(MPI_Aint base, MPI_Aint disp); -MPI_Aint MPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2); /* End Prototypes */ #endif /* MPICH_SUPPRESS_PROTOTYPES */ @@ -2140,6 +2140,9 @@ int PMPI_Type_get_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *exte int PMPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent); int PMPI_Type_size_x(MPI_Datatype datatype, MPI_Count *size); +/* MPI_Aint addressing arithmetic */ +MPI_Aint PMPI_Aint_add(MPI_Aint base, MPI_Aint disp); +MPI_Aint PMPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2); /* MPI_T interface */ /* The MPI_T routines are available only in C bindings - tell tools that they @@ -2194,10 +2197,6 @@ int PMPIX_Comm_revoke(MPI_Comm comm); int PMPIX_Comm_shrink(MPI_Comm comm, MPI_Comm *newcomm); int PMPIX_Comm_agree(MPI_Comm comm, int *flag); -/* MPI_Aint addressing arithmetic */ -MPI_Aint PMPI_Aint_add(MPI_Aint base, MPI_Aint disp); -MPI_Aint PMPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2); - #endif /* MPI_BUILD_PROFILING */ /* End of MPI bindings */ ----------------------------------------------------------------------- Summary of changes: maint/f77tof90.in | 4 ++++ src/binding/fortran/use_mpi/buildiface | 12 ++++++++++++ src/include/mpi.h.in | 13 ++++++------- test/mpi/f08/datatype/get_elem_d.f90 | 4 +++- test/mpi/f08/datatype/get_elem_u.f90 | 4 +++- test/mpi/f77/rma/aintf.f | 4 ++-- test/mpi/f90/datatype/get_elem_d.f90 | 4 +++- test/mpi/f90/datatype/get_elem_u.f90 | 4 +++- 8 files changed, 36 insertions(+), 13 deletions(-) hooks/post-receive -- MPICH primary repository
participants (1)
-
noreply@mpich.org