Skip to content

Commit 10b27d5

Browse files
author
Shane Snyder
committed
update regression test scripts for alcf aurora
1 parent a8eed1b commit 10b27d5

File tree

17 files changed

+95
-14
lines changed

17 files changed

+95
-14
lines changed

darshan-test/regression/README.CRAY.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,17 @@ To run regression tests:
1111
examples:
1212

1313
# darshan runtime
14-
../configure --with-mem-align=64 --with-log-path=/projects/radix-io/snyder/darshan-logs --prefix=/home/snyder/working/darshan/install-theta --with-jobid-env=COBALT_JOBID --disable-cuserid --host=x86_64 CC=cc
14+
../configure --with-mem-align=64 --with-log-path=/projects/radix-io/snyder/darshan-logs --prefix=/home/snyder/working/darshan/install-polaris --with-jobid-env=COBALT_JOBID --disable-cuserid --host=x86_64 CC=cc
1515
make install
1616

1717
# darshan util
18-
../configure --prefix=/home/snyder/working/darshan/install-theta
18+
../configure --prefix=/home/snyder/working/darshan/install-polaris
1919
make install
2020

2121
- start a screen session by running "screen"
2222
note: this is suggested because the tests may take a while to complete depending on scheduler
2323
availability
2424

25-
- run regression tests using the corresponding system configuration (e.g., cray-module-alcf-theta for ALCF Theta)
26-
./run-all.sh /home/snyder/working/darshan/install-theta /projects/radix-io/snyder/darshan-test cray-module-alcf-theta
25+
- run regression tests using the corresponding system configuration (e.g., alcf-polaris-cray-module for ALCF Polaris)
26+
./run-all.sh /home/snyder/working/darshan/install-polaris /projects/radix-io/snyder/darshan-test alcf-polaris-cray-module
2727

darshan-test/regression/README.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ The master script must be executed with three arguments:
1616
profiling configuration hooks on a standard workstation)
1717
- workstation-ld-preload (for dynamic instrumentation via LD_PRELOAD on a
1818
standard workstation)
19-
- cray-module-alcf-theta (for instrumentation using a Darshan
20-
Cray module on the Theta system @ ALCF only)
21-
- cray-module-alcf-polaris (for instrumentation using a Darshan
19+
- alcf-aurora-ld-preload (for instrumentation using LD_PRELOAD on the
20+
Aurora system @ ALCF only)
21+
- alcf-polaris-cray-module (for instrumentation using a Darshan
2222
Cray module on the Polaris system @ ALCF only)
23-
- cray-module-nersc-perlmutter (for instrumentation using a Darshan
23+
- nersc-perlmutter-cray-module (for instrumentation using a Darshan
2424
Cray module on the Perlmutter system @ NERSC only)
25-
- cray-module-olcf-frontier (for instrumentation using a Darshan
25+
- olcf-frontier-cray-module (for instrumentation using a Darshan
2626
Cray module on the Frontier system @ OLCF only)
27-
- cray-module-olcf-crusher (for instrumentation using a Darshan
27+
- olcf-crusher-cray-module (for instrumentation using a Darshan
2828
Cray module on the Crusher system @ OLCF only)
2929

3030
The platform type should map to a subdirectory containing scripts
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/bin/bash
2+
3+
# General notes
4+
#######################
5+
6+
# Script to set up the environment for tests on this platform. Must export
7+
# the following environment variables:
8+
#
9+
# DARSHAN_CC: command to compile C programs
10+
# DARSHAN_CXX: command to compile C++ programs
11+
# DARSHAN_F90: command to compile Fortran90 programs
12+
# DARSHAN_F77: command to compile Fortran77 programs
13+
# DARSHAN_RUNJOB: command to execute a job and wait for its completion
14+
15+
# This script may load optional modules (as in a Cray PE), set LD_PRELOAD
16+
# variables (as in a dynamically linked environment), or generate mpicc
17+
# wrappers (as in a statically linked environment).
18+
19+
# Notes specific to this platform (alcf-aurora-ld-preload)
20+
########################
21+
# Use default compilers on Aurora and ultimately use LD_PRELOAD
22+
# (in the pbs-submit script) to instrument binaries.
23+
#
24+
# RUNJOB is responsible for submitting a PBS job, waiting for its
25+
# completion, and checking its return status
26+
27+
export DARSHAN_CC=mpicc
28+
export DARSHAN_CXX=mpicxx
29+
export DARSHAN_F77=mpifort
30+
export DARSHAN_F90=mpifort
31+
32+
export DARSHAN_RUNJOB=$DARSHAN_TESTDIR/$DARSHAN_PLATFORM/runjob.sh
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
3+
nprocs=$DARSHAN_DEFAULT_NPROCS
4+
nnodes=`wc -l < $PBS_NODEFILE`
5+
ppn=$((nprocs / nnodes))
6+
7+
mpiexec -n $nprocs --ppn $ppn --env LD_PRELOAD=$DARSHAN_RUNTIME_PATH/lib/libdarshan.so $DARSHAN_SCRIPT_ARGS
8+
EXIT_STATUS=$?
9+
10+
exit $EXIT_STATUS
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/bin/bash
2+
3+
PROJ=radix-io
4+
5+
# can't pass args to scripts with PBS, so we assign to an env
6+
# var and reference that in the submit script
7+
export DARSHAN_SCRIPT_ARGS="$@"
8+
9+
# set list of env vars to pass through to PBS job
10+
ENV_VAR_LIST="DARSHAN_LOGFILE,DARSHAN_DEFAULT_NPROCS,DARSHAN_SCRIPT_ARGS,DARSHAN_RUNTIME_PATH"
11+
if [ -n "${DXT_ENABLE_IO_TRACE+defined}" ]; then
12+
ENV_VAR_LIST="$ENV_VAR_LIST,DXT_ENABLE_IO_TRACE"
13+
fi
14+
15+
# submit job and wait for it to return
16+
jobid=`qsub -A $PROJ -q debug -l select=1,walltime=0:10:00,filesystems=home:flare,daos=default -v $ENV_VAR_LIST -o $DARSHAN_TMP/$$-tmp.out -e $DARSHAN_TMP/$$-tmp.err $DARSHAN_TESTDIR/$DARSHAN_PLATFORM/pbs-submit.sh`
17+
18+
if [ $? -ne 0 ]; then
19+
echo "Error: failed to qsub $@"
20+
exit 1
21+
fi
22+
23+
output="foo"
24+
rc=0
25+
26+
# loop as long as qstat succeeds and shows information about job
27+
while [ -n "$output" -a "$rc" -eq 0 ]; do
28+
sleep 5
29+
output=`qstat $jobid`
30+
rc=$?
31+
done
32+
33+
# extract final job exit code using qstat
34+
job_exit=`qstat -f -x $jobid | grep Exit_status | tr -d '[:blank:]' | cut -d= -f2`
35+
if [ $job_exit -ne 0 ]; then
36+
exit 1
37+
else
38+
exit 0
39+
fi

darshan-test/regression/cray-module-alcf-polaris/env.sh renamed to darshan-test/regression/alcf-polaris-cray-module/env.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
# variables (as in a dynamically linked environment), or generate mpicc
1717
# wrappers (as in a statically linked environment).
1818

19-
# Notes specific to this platform (cray-module-alcf-polaris)
19+
# Notes specific to this platform (alcf-polaris-cray-module)
2020
########################
2121
# Use Cray's default compiler wrappers and load the module associated with
2222
# this darshan install

darshan-test/regression/cray-module-nersc-perlmutter/env.sh renamed to darshan-test/regression/nersc-perlmutter-cray-module/env.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
# variables (as in a dynamically linked environment), or generate mpicc
1717
# wrappers (as in a statically linked environment).
1818

19-
# Notes specific to this platform (cray-module-nersc-perlmutter)
19+
# Notes specific to this platform (nersc-perlmutter-cray-module)
2020
########################
2121
# Use Cray's default compiler wrappers and load the module associated with
2222
# this darshan install

0 commit comments

Comments
 (0)