[Darshan-commits] [Git][darshan/darshan][issue-241-fopen-upconvert] 7 commits: refactor automated builds, and add theta hooks
Shane Snyder
xgitlab at cels.anl.gov
Mon Jun 11 15:22:37 CDT 2018
Shane Snyder pushed to branch issue-241-fopen-upconvert at darshan / darshan
Commits:
9f1250a9 by Shane Snyder at 2018-04-10T17:26:02-05:00
refactor automated builds, and add theta hooks
- - - - -
2ffc3584 by Shane Snyder at 2018-04-10T17:38:24-05:00
more automated build refactoring
- - - - -
46fda15b by Shane Snyder at 2018-04-10T21:55:37-05:00
use absolute paths in regression scripts
- - - - -
4f03b75b by Shane Snyder at 2018-04-13T12:52:33-05:00
CINOW support in automated builds
- - - - -
6639a912 by Phil Carns at 2018-04-20T15:28:50-04:00
bug fix to MiB value reported in job summary
- perf_mbytes is a global used later in pdf generation, do not overwrite
in stdio output parsing
- - - - -
81683bb5 by Shane Snyder at 2018-06-08T15:44:49-05:00
don't sum invalid posix counters
- - - - -
b4ec5840 by Shane Snyder at 2018-06-11T15:22:34-05:00
Merge branch 'master' into 'issue-241-fopen-upconvert'
# Conflicts:
# ChangeLog
- - - - -
10 changed files:
- ChangeLog
- darshan-runtime/lib/darshan-posix.c
- darshan-test/automated/common/build.sh
- darshan-test/automated/common/configure.sh
- darshan-test/automated/mcs/configure.sh → darshan-test/automated/generic/configure.sh
- darshan-test/automated/mcs/build.sh → darshan-test/automated/theta/configure.sh
- darshan-test/regression/cray-module-alcf/env.sh
- darshan-test/regression/cray-module-nersc/env.sh
- darshan-util/darshan-job-summary/bin/darshan-job-summary.pl.in
- darshan-util/darshan-posix-logutils.c
Changes:
=====================================
ChangeLog
=====================================
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,8 @@ Darshan-3.1.7
* bug fix for darshan-parser backwards compatibility: Darshan logs generated
by Darshan versions prior to 3.1.0 may have included stdio counters that
were not properly up-converted. Reported by Teng Wang.
+* bug fix to MiB reported in I/O performance estimate of
+ darshan-job-summary.pl when both posix and stdio access is present
Darshan-3.1.6
=============
=====================================
darshan-runtime/lib/darshan-posix.c
=====================================
--- a/darshan-runtime/lib/darshan-posix.c
+++ b/darshan-runtime/lib/darshan-posix.c
@@ -1435,6 +1435,8 @@ static void posix_record_reduction_op(void* infile_v, void* inoutfile_v,
for(j=POSIX_OPENS; j<=POSIX_FDSYNCS; j++)
{
tmp_file.counters[j] = infile->counters[j] + inoutfile->counters[j];
+ if(tmp_file.counters[j] < 0) /* make sure invalid counters are -1 exactly */
+ tmp_file.counters[j] = -1;
}
tmp_file.counters[POSIX_MODE] = infile->counters[POSIX_MODE];
=====================================
darshan-test/automated/common/build.sh
=====================================
--- a/darshan-test/automated/common/build.sh
+++ b/darshan-test/automated/common/build.sh
@@ -1,17 +1,43 @@
#!/bin/bash
#
-# Base build script which calls the system specific version.
+# Build darshan runtime and util code
#
+fcount=0
+runtime_status=0
+util_status=0
+runtime_result=""
+util_result=""
+thedate=$(date)
-status=0
+cd build/darshan-runtime
+make && make install
+runtime_status=$?
+if [ $runtime_status -ne 0 ]; then
+ fcount=$((fcount+1));
+ runtime_result="<error type='$runtime_status' message='build failed' />"
+fi
-if [[ $NODE_LABELS =~ "mcs" ]];
-then
- source darshan-test/automated/mcs/build.sh
- status=$?
-else
- # unknown machine
- status=100
+cd ../../build/darshan-util
+make && make install
+util_status=$?
+if [ $util_status -ne 0 ]; then
+ fcount=$((fcount+1));
+ util_result="<error type='$util_status' message='build failed' />"
fi
-exit $status
+cd ../../;
+
+echo "
+<testsuites>
+ <testsuite name='build' tests='2' failures='$fcount' time='$thedate'>
+ <testcase name='darshan-runtime' time='$thedate'>
+ $runtime_result
+ </testcase>
+ <testcase name='darshan-util' time='$thedate'>
+ $util_result
+ </testcase>
+ </testsuite>
+</testsuites>
+" > build-result.xml
+
+exit $fcount
=====================================
darshan-test/automated/common/configure.sh
=====================================
--- a/darshan-test/automated/common/configure.sh
+++ b/darshan-test/automated/common/configure.sh
@@ -5,9 +5,13 @@
status=0
-if [[ $NODE_LABELS =~ "mcs" ]];
+if [[ $NODE_LABELS =~ "CINOW" || $NODE_LABELS =~ "mcs" ]];
then
- source darshan-test/automated/mcs/configure.sh
+ source darshan-test/automated/generic/configure.sh
+ status=$?
+elif [[ $NODE_LABELS =~ "Theta" ]];
+then
+ source darshan-test/automated/theta/configure.sh
status=$?
else
# unknown machine
=====================================
darshan-test/automated/mcs/configure.sh → darshan-test/automated/generic/configure.sh
=====================================
--- a/darshan-test/automated/mcs/configure.sh
+++ b/darshan-test/automated/generic/configure.sh
@@ -10,7 +10,7 @@ util_result=""
thedate=$(date)
cd build/darshan-runtime
-../../darshan-runtime/configure --prefix=$basedir/install --with-mem-align=16 --with-jobid-env=DARSHAN_JOBID --with-log-path=$basedir/logs --with-log-path-by-env=DARSHAN_LOGPATH CC=mpicc
+../../darshan-runtime/configure --prefix=$basedir/install --with-mem-align=16 --with-jobid-env=DARSHAN_JOBID --with-log-path=$basedir/logs CC=mpicc
runtime_status=$?
if [ $runtime_status -ne 0 ]; then
fcount=$((fcount+1));
=====================================
darshan-test/automated/mcs/build.sh → darshan-test/automated/theta/configure.sh
=====================================
--- a/darshan-test/automated/mcs/build.sh
+++ b/darshan-test/automated/theta/configure.sh
@@ -1,35 +1,39 @@
#!/bin/bash
#
-# Build darshan runtime and util code
-#
+# Run configure for runtime and utils
+
+basedir=$PWD
+status=0
fcount=0
-runtime_status=0
-util_status=0
runtime_result=""
util_result=""
thedate=$(date)
+# unload any darshan module and use GNU compilers
+module unload darshan
+module switch PrgEnv-intel PrgEnv-gnu
+
cd build/darshan-runtime
-make && make install
+../../darshan-runtime/configure --prefix=$basedir/install --with-mem-align=64 --with-jobid-env=COBALT_JOBID --with-log-path=$basedir/logs --disable-cuserid --host=x86_64 CC=cc
runtime_status=$?
if [ $runtime_status -ne 0 ]; then
fcount=$((fcount+1));
- runtime_result="<error type='$runtime_status' message='build failed' />"
+ runtime_result="<error type='$runtime_status' message='configure failed' />"
fi
-cd ../../build/darshan-util
-make && make install
+cd ../darshan-util
+../../darshan-util/configure --prefix=$basedir/install
util_status=$?
if [ $util_status -ne 0 ]; then
fcount=$((fcount+1));
- util_result="<error type='$util_status' message='build failed' />"
+ util_result="<error type='$util_status' message='configure failed' />"
fi
cd ../../;
echo "
<testsuites>
- <testsuite name='build' tests='2' failures='$fcount' time='$thedate'>
+ <testsuite name='configure' tests='2' failures='$fcount' time='$thedate'>
<testcase name='darshan-runtime' time='$thedate'>
$runtime_result
</testcase>
@@ -38,6 +42,5 @@ echo "
</testcase>
</testsuite>
</testsuites>
-" > build-result.xml
-
+" > configure-result.xml
exit $fcount
=====================================
darshan-test/regression/cray-module-alcf/env.sh
=====================================
--- a/darshan-test/regression/cray-module-alcf/env.sh
+++ b/darshan-test/regression/cray-module-alcf/env.sh
@@ -29,7 +29,7 @@ export DARSHAN_CXX=CC
export DARSHAN_F77=ftn
export DARSHAN_F90=ftn
-export DARSHAN_RUNJOB="cray-module-alcf/runjob.sh"
+export DARSHAN_RUNJOB=$DARSHAN_TESTDIR/$DARSHAN_PLATFORM/runjob.sh
module unload darshan >& /dev/null
module load $DARSHAN_PATH/share/craype-2.x/modulefiles/
=====================================
darshan-test/regression/cray-module-nersc/env.sh
=====================================
--- a/darshan-test/regression/cray-module-nersc/env.sh
+++ b/darshan-test/regression/cray-module-nersc/env.sh
@@ -29,7 +29,7 @@ export DARSHAN_CXX=CC
export DARSHAN_F77=ftn
export DARSHAN_F90=ftn
-export DARSHAN_RUNJOB="cray-module-nersc/runjob.sh"
+export DARSHAN_RUNJOB=$DARSHAN_TESTDIR/$DARSHAN_PLATFORM/runjob.sh
module unload darshan >& /dev/null
module load $DARSHAN_PATH/share/craype-2.x/modulefiles/
=====================================
darshan-util/darshan-job-summary/bin/darshan-job-summary.pl.in
=====================================
--- a/darshan-util/darshan-job-summary/bin/darshan-job-summary.pl.in
+++ b/darshan-util/darshan-job-summary/bin/darshan-job-summary.pl.in
@@ -166,8 +166,8 @@ while($line = <PARSE_OUT>)
{
if($current_module eq "STDIO")
{
- ($junk, $perf_mbytes) = split(':', $line, 2);
- $stdio_perf_mbytes = $perf_mbytes / 1024 / 1024;
+ ($junk, $stdio_perf_mbytes) = split(':', $line, 2);
+ $stdio_perf_mbytes = $stdio_perf_mbytes / 1024 / 1024;
$stdio_perf_mbytes = sprintf("%.1f", $stdio_perf_mbytes);
}
elsif($perf_mbytes == 0)
=====================================
darshan-util/darshan-posix-logutils.c
=====================================
--- a/darshan-util/darshan-posix-logutils.c
+++ b/darshan-util/darshan-posix-logutils.c
@@ -400,6 +400,8 @@ static void darshan_log_agg_posix_files(void *rec, void *agg_rec, int init_flag)
case POSIX_SIZE_WRITE_1G_PLUS:
/* sum */
agg_psx_rec->counters[i] += psx_rec->counters[i];
+ if(agg_psx_rec->counters[i] < 0) /* make sure invalid counters are -1 exactly */
+ agg_psx_rec->counters[i] = -1;
break;
case POSIX_MODE:
case POSIX_MEM_ALIGNMENT:
View it on GitLab: https://xgitlab.cels.anl.gov/darshan/darshan/compare/615f539696baa0866fa43495a252243b9f601d6e...b4ec58405651a594e2837a100fc4d68419623dea
---
View it on GitLab: https://xgitlab.cels.anl.gov/darshan/darshan/compare/615f539696baa0866fa43495a252243b9f601d6e...b4ec58405651a594e2837a100fc4d68419623dea
You're receiving this email because of your account on xgitlab.cels.anl.gov.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/darshan-commits/attachments/20180611/81138836/attachment-0001.html>
More information about the Darshan-commits
mailing list