[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