[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.0.4-386-ga7ea4b9

mysql vizuser noreply at mpich.org
Fri Jul 26 10:43:05 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  a7ea4b9b018afe02dcf558cf5fc8f288c3180a47 (commit)
      from  d92264053b17d873503a87b6c322896b03fc6f61 (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/a7ea4b9b018afe02dcf558cf5fc8f288c3180a47

commit a7ea4b9b018afe02dcf558cf5fc8f288c3180a47
Author: Ken Raffenetti <raffenet at mcs.anl.gov>
Date:   Tue Jul 23 13:44:03 2013 -0500

    Adds framework for testing checkpointing.
    
    Checkpointing tests only run if --enable-checkpointing is
    configured. First test is to see if mpiexec can successfully
    checkpoint a job using blcr.
    
    Signed-off-by: Wesley Bland <wbland at mcs.anl.gov>

diff --git a/test/mpi/Makefile.am b/test/mpi/Makefile.am
index 76b072a..ed82f0e 100644
--- a/test/mpi/Makefile.am
+++ b/test/mpi/Makefile.am
@@ -19,7 +19,7 @@ all_lang_subdirs = f77 cxx f90
 # duplication because automake is able to "see" into simple variable
 # assignments that are not driven by a configure @-substitution variable.
 DIST_SUBDIRS = $(static_subdirs) io $(all_lang_subdirs) threads spawn .
-SUBDIRS      = $(static_subdirs) $(iodir) $(otherlangs) $(threadsdir) $(spawndir) .
+SUBDIRS      = $(static_subdirs) $(iodir) $(otherlangs) $(threadsdir) $(spawndir) $(ckpointdir) .
 
 EXTRA_DIST = maint/common.defn maint/f77tof90.in maint/testmerge.in maint/updatefiles testlist.in
 
diff --git a/test/mpi/ckpoint/Makefile.am b/test/mpi/ckpoint/Makefile.am
new file mode 100644
index 0000000..456e04d
--- /dev/null
+++ b/test/mpi/ckpoint/Makefile.am
@@ -0,0 +1,13 @@
+# -*- Mode: Makefile; -*-
+# vim: set ft=automake :
+#
+# (C) 2011 by Argonne National Laboratory.
+#     See COPYRIGHT in top-level directory.
+#
+
+include $(top_srcdir)/Makefile.mtest
+
+## for all programs that are just built from the single corresponding source
+## file, we don't need per-target _SOURCES rules, automake will infer them
+## correctly
+noinst_PROGRAMS = write_ckpoint
diff --git a/test/mpi/ckpoint/testlist b/test/mpi/ckpoint/testlist
new file mode 100644
index 0000000..6b98eb1
--- /dev/null
+++ b/test/mpi/ckpoint/testlist
@@ -0,0 +1 @@
+write_ckpoint 2 timeLimit=30 mpiexecarg=-ckpoint-prefix mpiexecarg=/tmp mpiexecarg=-ckpointlib mpiexecarg=blcr mpiexecarg=-ckpoint-interval mpiexecarg=5
diff --git a/test/mpi/ckpoint/write_ckpoint.c b/test/mpi/ckpoint/write_ckpoint.c
new file mode 100644
index 0000000..eadd43c
--- /dev/null
+++ b/test/mpi/ckpoint/write_ckpoint.c
@@ -0,0 +1,32 @@
+/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
+/*
+ *  (C) 2001 by Argonne National Laboratory.
+ *      See COPYRIGHT in top-level directory.
+ */
+
+#include "mpi.h"
+#include <stdio.h>
+
+int main(int argc,char *argv[])
+{
+    int numprocs, myid, i;
+    int  namelen;
+    char processor_name[MPI_MAX_PROCESSOR_NAME];
+
+    MPI_Init(&argc,&argv);
+    MPI_Comm_size(MPI_COMM_WORLD,&numprocs);
+    MPI_Comm_rank(MPI_COMM_WORLD,&myid);
+    MPI_Get_processor_name(processor_name,&namelen);
+
+    for ( i = 0 ; i < 22; i++ ) {
+        MPI_Barrier(MPI_COMM_WORLD);
+        MTestSleep(1);
+    }
+
+    if (myid == 0) {
+        printf("No Errors\n");
+    }
+
+    MPI_Finalize();
+    return 0;
+}
diff --git a/test/mpi/configure.ac b/test/mpi/configure.ac
index 3816e1a..7339192 100644
--- a/test/mpi/configure.ac
+++ b/test/mpi/configure.ac
@@ -135,6 +135,11 @@ AC_ARG_ENABLE(checkfaults,
 		[Add some tests for checking on handling of faults in user programs])],,
 	[enable_checkfaults=no])
 
+AC_ARG_ENABLE(checkpointing,
+	[AC_HELP_STRING([--enable-checkpointing],
+		[Add some tests for checkpointing])],,
+	[enable_checkpointing=no])
+
 AC_ARG_ENABLE(fast,
 	[AC_HELP_STRING([--enable-fast],
 		[Indicates that the MPI implementation may have been
@@ -287,6 +292,13 @@ AC_SUBST(perfdir)
 if test "$enable_threads" = "multiple" -o "$enable_threads" = "runtime" ; then
     threadsdir="threads"
 fi
+# 
+# Only run the checkpointing tests if enabled
+ckpointdir="#ckpoint"
+if test "$enable_checkpointing" = "yes" ; then
+    ckpointdir="ckpoint"
+fi
+AC_SUBST(ckpointdir)
 
 PAC_LOAD_BASE_CACHE
 PAC_VPATH_CHECK()
@@ -1414,6 +1426,7 @@ AC_OUTPUT(maint/testmerge \
 	  errors/f77/errhan/iooffset.h \
           errors/f90/Makefile \
 	  errors/f90/errhan/Makefile \
+	  ckpoint/Makefile \
           manual/Makefile \
           manual/manyconnect \
           manual/mpi_t/Makefile \
diff --git a/test/mpi/runtests.in b/test/mpi/runtests.in
index dbe1f79..67ab8ce 100644
--- a/test/mpi/runtests.in
+++ b/test/mpi/runtests.in
@@ -637,7 +637,7 @@ sub RunMPIProgram {
 	    if (/^\s*No [Ee]rrors\s*$/ && $found_noerror == 0) {
 		$found_noerror = 1;
 	    }
-	    if (! /^\s*No [Ee]rrors\s*$/ && !/^\s*Test Passed\s*$/) {
+	    if (! /^\s*No [Ee]rrors\s*$/ && !/^\s*Test Passed\s*$/ && !/requesting checkpoint\s*$/ && !/checkpoint completed\s*$/) {
 		print STDERR "Unexpected output in $programname: $_";
 		if (!$found_error) {
 		    $found_error = 1;
diff --git a/test/mpi/testlist.in b/test/mpi/testlist.in
index 172c119..0a77991 100644
--- a/test/mpi/testlist.in
+++ b/test/mpi/testlist.in
@@ -21,3 +21,4 @@ topo
 @f90dir@
 @errordir@
 @threadsdir@
+ at ckpointdir@

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

Summary of changes:
 test/mpi/Makefile.am                               |    2 +-
 test/mpi/{errors/basic => ckpoint}/Makefile.am     |    3 +--
 test/mpi/ckpoint/testlist                          |    1 +
 .../infloop.c => test/mpi/ckpoint/write_ckpoint.c  |   13 ++++++-------
 test/mpi/configure.ac                              |   13 +++++++++++++
 test/mpi/runtests.in                               |    2 +-
 test/mpi/testlist.in                               |    1 +
 7 files changed, 24 insertions(+), 11 deletions(-)
 copy test/mpi/{errors/basic => ckpoint}/Makefile.am (89%)
 create mode 100644 test/mpi/ckpoint/testlist
 copy examples/developers/infloop.c => test/mpi/ckpoint/write_ckpoint.c (72%)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list