[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