Commit 3cd66a93 authored by Philip Carns's avatar Philip Carns

bluegend profile testing environment

parent ef521fcb
#!/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 (bg-profile-conf)
########################
# This particular env script assumes that mpicc and its variants for other
# languages are already in the path, and that they will produce static
# executables by default. Darshan instrumentation is added by specifying
# a profiling configuration file using environment variables.
# the RUNJOB command is the most complex part here. We use a script that submits
# a cobalt job, waits for its completion, and checks its return status
export DARSHAN_CC=mpicc
export DARSHAN_CXX=mpicxx
export DARSHAN_F77=mpif77
export DARSHAN_F90=mpif90
export MPICC_PROFILE=$DARSHAN_PATH/share/mpi-profile/darshan-bg-cc
export MPICXX_PROFILE=$DARSHAN_PATH/share/mpi-profile/darshan-bg-cxx
export MPIF90_PROFILE=$DARSHAN_PATH/share/mpi-profile/darshan-bg-f
export MPIF77_PROFILE=$DARSHAN_PATH/share/mpi-profile/darshan-bg-f
export DARSHAN_RUNJOB="bg-profile-conf/runjob.sh"
#!/bin/bash
# submit job and get job id
jobid=`qsub --mode c16 --proccount $DARSHAN_DEFAULT_NPROCS -A SSSPPg -t 10 -n 1 --output $DARSHAN_TMP/$$-tmp.out --error $DARSHAN_TMP/$$-tmp.err --debuglog $DARSHAN_TMP/$$-tmp.debuglog "$@"`
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" $$-tmp.debuglog
if [ $? -ne 0 ]; then
exit 1
else
exit 0
fi
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment