[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.0.4-431-gb3049e5

mysql vizuser noreply at mpich.org
Fri Aug 2 10:28:25 CDT 2013


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  b3049e5a2b300c105bb1970699b74a3826c48e2a (commit)
      from  602605b67eab52c0d4eaf6b2a3b2580a7f1da0d6 (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/b3049e5a2b300c105bb1970699b74a3826c48e2a

commit b3049e5a2b300c105bb1970699b74a3826c48e2a
Author: William Gropp <wgropp at illinois.edu>
Date:   Thu Aug 1 08:31:40 2013 -0500

    Added Fortran tests for a few PMPI routines
    
    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.

diff --git a/test/mpi/.gitignore b/test/mpi/.gitignore
index 0bdcd15..e5f8917 100644
--- a/test/mpi/.gitignore
+++ b/test/mpi/.gitignore
@@ -21,6 +21,7 @@
 /f90/pt2pt/
 /f90/spawn/
 /f90/topo/
+/f90/profile
 /coll/gdb.script
 /coll/redscat2
 /coll/reduce_local
diff --git a/test/mpi/configure.ac b/test/mpi/configure.ac
index 565842a..574411d 100644
--- a/test/mpi/configure.ac
+++ b/test/mpi/configure.ac
@@ -1416,6 +1416,7 @@ AC_OUTPUT(maint/testmerge \
           f77/io/iooffset.h \
           f77/io/iodisp.h \
           f77/io/ioaint.h \
+	  f77/profile/Makefile \
           f90/Makefile \
           f90/attr/Makefile \
           f90/datatype/Makefile \
@@ -1435,6 +1436,7 @@ AC_OUTPUT(maint/testmerge \
           f90/ext/testlist \
           f90/io/Makefile \
           f90/misc/Makefile \
+	  f90/profile/Makefile \
           cxx/Makefile \
           cxx/util/Makefile \
           cxx/attr/Makefile \
diff --git a/test/mpi/f77/Makefile.am b/test/mpi/f77/Makefile.am
index 01d8fba..8261d44 100644
--- a/test/mpi/f77/Makefile.am
+++ b/test/mpi/f77/Makefile.am
@@ -9,6 +9,6 @@ include $(top_srcdir)/Makefile_f77.mtest
 
 EXTRA_DIST = testlist.in
 
-static_subdirs = util attr datatype coll pt2pt info init comm topo ext
+static_subdirs = util attr datatype coll pt2pt info init comm topo ext profile
 SUBDIRS = $(static_subdirs) $(spawndir) $(iodir) $(rmadir)
 DIST_SUBDIRS = $(static_subdirs) spawn io rma
diff --git a/test/mpi/f77/profile/Makefile.am b/test/mpi/f77/profile/Makefile.am
new file mode 100644
index 0000000..e55eaad
--- /dev/null
+++ b/test/mpi/f77/profile/Makefile.am
@@ -0,0 +1,21 @@
+# -*- Mode: Makefile; -*-
+# vim: set ft=automake :
+#
+# (C) 2011 by Argonne National Laboratory.
+#     See COPYRIGHT in top-level directory.
+#
+
+include $(top_srcdir)/Makefile_f77.mtest
+
+EXTRA_DIST = testlist
+
+# avoid having to write many "foo_SOURCES = foo.f" lines
+AM_DEFAULT_SOURCE_EXT = .f
+
+noinst_PROGRAMS = profile1f
+
+## attr1aints.h will be distributed because it's listed in AC_CONFIG_FILES/AC_OUTPUT
+
+# ensure that dependent tests will be rebuilt when typeaints.h is updated
+greqf.$(OBJEXT): attr1aints.h
+
diff --git a/test/mpi/f77/profile/profile1f.f b/test/mpi/f77/profile/profile1f.f
new file mode 100644
index 0000000..f3e4af8
--- /dev/null
+++ b/test/mpi/f77/profile/profile1f.f
@@ -0,0 +1,101 @@
+       program main
+       include "mpif.h"
+       integer ierr
+       integer smsg(3), rmsg(3), toterrs, wsize, wrank
+       common /myinfo/ calls, amount, rcalls, ramount
+       integer calls, amount, rcalls, ramount
+
+       toterrs = 0
+       call mpi_init( ierr )
+       call init_counts()
+       call mpi_comm_rank( MPI_COMM_WORLD, wrank, ierr )
+       call mpi_comm_size( MPI_COMM_WORLD, wsize, ierr )
+
+       if (wrank .eq. 0) then
+           smsg(1) = 3
+           call mpi_send( smsg, 1, MPI_INT, 1, 0, MPI_COMM_WORLD, ierr )
+       else if (wrank .eq. 1) then
+          call mpi_recv( rmsg, 1, MPI_INT, 0, 0, MPI_COMM_WORLD,
+     $         MPI_STATUS_IGNORE, ierr ) 
+          if (rmsg(1) .ne. 3) then
+             toterrs = toterrs + 1
+             print *, "Unexpected received value ", rmsg(1)
+          endif
+       endif
+C
+C     check that we used the profiling versions of the routines
+       toterrs = 0
+       if (wrank .eq. 0) then
+          if (calls.ne.1) then
+             toterrs = toterrs + 1
+             print *, "Sender calls is ", calls
+          endif
+          if (amount.ne.1) then
+             toterrs = toterrs + 1
+             print *, "Sender amount is ", amount
+          endif
+       else if (wrank .eq. 1) then
+          if (rcalls.ne.1) then
+             toterrs = toterrs + 1
+             print *, "Receiver calls is ", rcalls
+          endif
+          if (ramount.ne.1) then
+             toterrs = toterrs + 1
+             print *, "Receiver amount is ", ramount
+          endif
+       endif
+
+       call mpi_allreduce( MPI_IN_PLACE, toterrs, 1, MPI_INT, MPI_SUM,
+     $      MPI_COMM_WORLD, ierr )
+       if (wrank .eq. 0) then
+          if (toterrs .eq. 0) then
+             print *, " No Errors"
+          else
+             print *, " Found ", toterrs, " errors"
+          endif
+       endif
+C
+       call mpi_finalize( ierr )
+       end
+C
+       subroutine mpi_send( smsg, count, dtype, dest, tag, comm, ierr )
+       include "mpif.h"
+       integer count, dtype, dest, tag, comm, ierr
+       integer smsg(count)
+       common /myinfo/ calls, amount, rcalls, ramount
+       integer calls, amount, rcalls, ramount
+c
+       calls = calls + 1
+       amount = amount + count
+       call pmpi_send( smsg, count, dtype, dest, tag, comm, ierr )
+       return
+       end
+C
+      subroutine mpi_recv( rmsg, count, dtype, src, tag, comm, status,
+     $     ierr ) 
+       include "mpif.h"
+       integer count, dtype, src, tag, comm, status(MPI_STATUS_SIZE),
+     $      ierr 
+       integer rmsg(count)
+       common /myinfo/ calls, amount, rcalls, ramount
+       integer calls, amount, rcalls, ramount
+       rcalls = rcalls + 1
+       ramount = ramount + 1
+       call pmpi_recv( rmsg, count, dtype, src, tag, comm, status, ierr
+     $      ) 
+       return
+       end
+C
+       subroutine init_counts()
+       common /myinfo/ calls, amount, rcalls, ramount
+       integer calls, amount, rcalls, ramount
+       calls = 0
+       amount = 0
+       rcalls = 0
+       ramount = 0
+       end
+C
+       subroutine mpi_pcontrol( ierr )
+       integer ierr
+       return
+       end
diff --git a/test/mpi/f77/profile/testlist b/test/mpi/f77/profile/testlist
new file mode 100644
index 0000000..27ce085
--- /dev/null
+++ b/test/mpi/f77/profile/testlist
@@ -0,0 +1 @@
+profile1f 2
diff --git a/test/mpi/f77/testlist.in b/test/mpi/f77/testlist.in
index 7ea2b1c..3316809 100644
--- a/test/mpi/f77/testlist.in
+++ b/test/mpi/f77/testlist.in
@@ -10,3 +10,4 @@ init
 comm
 ext
 topo
+profile
diff --git a/test/mpi/f90/testlist.in b/test/mpi/f90/testlist.in
index e8b64ef..edf311c 100644
--- a/test/mpi/f90/testlist.in
+++ b/test/mpi/f90/testlist.in
@@ -13,3 +13,4 @@ f90types
 @spawndir@
 timer
 topo
+profile

-----------------------------------------------------------------------

Summary of changes:
 test/mpi/.gitignore                         |    1 +
 test/mpi/configure.ac                       |    2 +
 test/mpi/f77/Makefile.am                    |    2 +-
 test/mpi/f77/{pt2pt => profile}/Makefile.am |    4 +-
 test/mpi/f77/profile/profile1f.f            |  101 +++++++++++++++++++++++++++
 test/mpi/f77/profile/testlist               |    1 +
 test/mpi/f77/testlist.in                    |    1 +
 test/mpi/f90/testlist.in                    |    1 +
 8 files changed, 109 insertions(+), 4 deletions(-)
 copy test/mpi/f77/{pt2pt => profile}/Makefile.am (85%)
 create mode 100644 test/mpi/f77/profile/profile1f.f
 create mode 100644 test/mpi/f77/profile/testlist


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list