[Darshan-commits] [Git][darshan/darshan][master] add cray regression test scripts (for alcf)

Shane Snyder xgitlab at cels.anl.gov
Thu Apr 27 12:37:31 CDT 2017


Shane Snyder pushed to branch master at darshan / darshan


Commits:
df0b800d by Shane Snyder at 2017-04-27T17:37:06+00:00
add cray regression test scripts (for alcf)

- - - - -


3 changed files:

- + darshan-test/regression/cray-module-alcf/cobalt-submit.sh
- + darshan-test/regression/cray-module-alcf/env.sh
- + darshan-test/regression/cray-module-alcf/runjob.sh


Changes:

=====================================
darshan-test/regression/cray-module-alcf/cobalt-submit.sh
=====================================
--- /dev/null
+++ b/darshan-test/regression/cray-module-alcf/cobalt-submit.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+nprocs=$DARSHAN_DEFAULT_NPROCS
+nnodes=$COBALT_PARTSIZE
+ppn=$((nprocs / nnodes))
+
+aprun -n $nprocs -N $ppn $@
+EXIT_STATUS=$?
+
+exit $EXIT_STATUS


=====================================
darshan-test/regression/cray-module-alcf/env.sh
=====================================
--- /dev/null
+++ b/darshan-test/regression/cray-module-alcf/env.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# General notes
+#######################
+
+# Script to set up the environment for tests on this platform.  Must export
+# the following environment variables:
+# 
+# DARSHAN_CC: command to compile C programs
+# DARSHAN_CXX: command to compile C++ programs
+# DARSHAN_F90: command to compile Fortran90 programs
+# DARSHAN_F77: command to compile Fortran77 programs
+# DARSHAN_RUNJOB: command to execute a job and wait for its completion
+
+# This script may load optional modules (as in a Cray PE), set LD_PRELOAD
+# variables (as in a dynamically linked environment), or generate mpicc
+# wrappers (as in a statically linked environment).
+
+# Notes specific to this platform (cray-module-alcf)
+########################
+# Use Cray's default compiler wrappers and load the module associated with
+# this darshan install
+#
+# RUNJOB is responsible for submitting a cobalt job, waiting for its
+# completion, and checking its return status
+
+export DARSHAN_CC=cc
+export DARSHAN_CXX=CC
+export DARSHAN_F77=ftn
+export DARSHAN_F90=ftn
+
+export DARSHAN_RUNJOB="cray-module-alcf/runjob.sh"
+
+module load $DARSHAN_PATH/share/craype-2.x/modulefiles/


=====================================
darshan-test/regression/cray-module-alcf/runjob.sh
=====================================
--- /dev/null
+++ b/darshan-test/regression/cray-module-alcf/runjob.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# submit job and get job id
+jobid=`qsub --env DARSHAN_LOGFILE=$DARSHAN_LOGFILE --env DARSHAN_DEFAULT_NPROCS=$DARSHAN_DEFAULT_NPROCS --proccount $DARSHAN_DEFAULT_NPROCS -A EarlyPerf_theta -t 10 -n 1 --output $DARSHAN_TMP/$$-tmp.out --error $DARSHAN_TMP/$$-tmp.err --debuglog $DARSHAN_TMP/$$-tmp.debuglog $DARSHAN_TESTDIR/$DARSHAN_PLATFORM/cobalt-submit.sh "$@"`
+
+if [ $? -ne 0 ]; then
+        echo "Error: failed to qsub $@"
+        exit 1
+fi
+
+output="foo"
+rc=0
+
+# loop as long as qstat succeeds and shows information about job
+while [ -n "$output" -a "$rc" -eq 0 ]; do
+        sleep 5
+        output=`qstat $jobid`
+        rc=$?
+done
+
+# look for return code
+grep "exit code of 0" $DARSHAN_TMP/$$-tmp.debuglog >& /dev/null
+if [ $? -ne 0 ]; then
+	# sleep to give time for exit code line to appear in log file
+	sleep 5
+	grep "exit code of 0" $DARSHAN_TMP/$$-tmp.debuglog >& /dev/null
+	if [ $? -ne 0 ]; then
+		exit 1
+	else
+		exit 0
+	fi
+else
+        exit 0
+fi



View it on GitLab: https://xgitlab.cels.anl.gov/darshan/darshan/commit/df0b800d794c03f4921b8734e6827a5bc785d5cd


More information about the Darshan-commits mailing list