[Darshan-commits] [Darshan] branch, master, updated. darshan-2.3.1-pre1-24-gbdbe35e

Service Account git at mcs.anl.gov
Fri Feb 6 16:08:24 CST 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".

The branch, master has been updated
       via  bdbe35ed4e16effb653b1b53bf64721e4e68dee6 (commit)
      from  3421534f9f6293c3aca1603162d09849028b5d93 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit bdbe35ed4e16effb653b1b53bf64721e4e68dee6
Author: Phil Carns <carns at mcs.anl.gov>
Date:   Fri Feb 6 17:07:37 2015 -0500

    preliminary mpi profiling configuration files
    
    - no documentation or extensive testing yet

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |    2 ++
 darshan-runtime/Makefile.in                        |    4 ++++
 darshan-runtime/configure                          |    5 ++++-
 darshan-runtime/configure.in                       |    3 +++
 .../share/mpi-profile/darshan-cc.conf.in           |   18 ++++++++++++++++++
 .../share/mpi-profile/darshan-cxx.conf.in          |   18 ++++++++++++++++++
 .../share/mpi-profile/darshan-f.conf.in            |   18 ++++++++++++++++++
 .../env.sh                                         |   16 +++++++---------
 8 files changed, 74 insertions(+), 10 deletions(-)
 create mode 100644 darshan-runtime/share/mpi-profile/darshan-cc.conf.in
 create mode 100644 darshan-runtime/share/mpi-profile/darshan-cxx.conf.in
 create mode 100644 darshan-runtime/share/mpi-profile/darshan-f.conf.in
 copy darshan-test/regression/{workstation-dynamic => workstation-profile-conf}/env.sh (66%)


Diff of changes:
diff --git a/ChangeLog b/ChangeLog
index 2928195..6706143 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -29,6 +29,8 @@ darshan-2.3.1-pre2
 * update darshan-gen-fortran.pl and darshan-gen-cxx.pl to support new library
   naming conventions in MPICH 3.1.1 and higher
 * update documentation to reflect known issues with some versions of MPICH
+* added example mpicc profile configuration files, see share/mpi-profile/ 
+  subdirectory within installation directory
 
 darshan-2.3.0
 =============
diff --git a/darshan-runtime/Makefile.in b/darshan-runtime/Makefile.in
index 36b4a52..35e2b8e 100644
--- a/darshan-runtime/Makefile.in
+++ b/darshan-runtime/Makefile.in
@@ -114,6 +114,10 @@ endif
 	install -m 755 share/craype-1.x/darshan-module $(datarootdir)/craype-1.x/modulefiles/darshan/$(DARSHAN_VERSION)
 	install -d $(datarootdir)/craype-2.x/modulefiles/darshan
 	install -m 755 share/craype-2.x/darshan-module $(datarootdir)/craype-2.x/modulefiles/darshan/$(DARSHAN_VERSION)
+	install -d $(datarootdir)/mpi-profile
+	install -m 755 share/mpi-profile/darshan-cc.conf $(datarootdir)/mpi-profile/darshan-cc.conf
+	install -m 755 share/mpi-profile/darshan-cxx.conf $(datarootdir)/mpi-profile/darshan-cxx.conf
+	install -m 755 share/mpi-profile/darshan-f.conf $(datarootdir)/mpi-profile/darshan-f.conf
 	install -d $(libdir)/pkgconfig
 	install -m 644 lib/pkgconfig/darshan-runtime.pc $(libdir)/pkgconfig/darshan-runtime.pc
 
diff --git a/darshan-runtime/configure b/darshan-runtime/configure
index 26f0244..0598a15 100755
--- a/darshan-runtime/configure
+++ b/darshan-runtime/configure
@@ -4259,7 +4259,7 @@ DARSHAN_VERSION="2.3.1-pre1"
 
 
 
-ac_config_files="$ac_config_files Makefile darshan-mk-log-dirs.pl darshan-gen-cc.pl darshan-gen-cxx.pl darshan-gen-fortran.pl darshan-config share/craype-1.x/darshan-module share/craype-2.x/darshan-module lib/pkgconfig/darshan-runtime.pc"
+ac_config_files="$ac_config_files Makefile darshan-mk-log-dirs.pl darshan-gen-cc.pl darshan-gen-cxx.pl darshan-gen-fortran.pl darshan-config share/craype-1.x/darshan-module share/craype-2.x/darshan-module lib/pkgconfig/darshan-runtime.pc share/mpi-profile/darshan-cc.conf share/mpi-profile/darshan-cxx.conf share/mpi-profile/darshan-f.conf"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -4962,6 +4962,9 @@ do
     "share/craype-1.x/darshan-module") CONFIG_FILES="$CONFIG_FILES share/craype-1.x/darshan-module" ;;
     "share/craype-2.x/darshan-module") CONFIG_FILES="$CONFIG_FILES share/craype-2.x/darshan-module" ;;
     "lib/pkgconfig/darshan-runtime.pc") CONFIG_FILES="$CONFIG_FILES lib/pkgconfig/darshan-runtime.pc" ;;
+    "share/mpi-profile/darshan-cc.conf") CONFIG_FILES="$CONFIG_FILES share/mpi-profile/darshan-cc.conf" ;;
+    "share/mpi-profile/darshan-cxx.conf") CONFIG_FILES="$CONFIG_FILES share/mpi-profile/darshan-cxx.conf" ;;
+    "share/mpi-profile/darshan-f.conf") CONFIG_FILES="$CONFIG_FILES share/mpi-profile/darshan-f.conf" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
diff --git a/darshan-runtime/configure.in b/darshan-runtime/configure.in
index 13041c7..78f8a62 100644
--- a/darshan-runtime/configure.in
+++ b/darshan-runtime/configure.in
@@ -305,4 +305,7 @@ darshan-config
 share/craype-1.x/darshan-module
 share/craype-2.x/darshan-module
 lib/pkgconfig/darshan-runtime.pc
+share/mpi-profile/darshan-cc.conf
+share/mpi-profile/darshan-cxx.conf
+share/mpi-profile/darshan-f.conf
 )
diff --git a/darshan-runtime/share/mpi-profile/darshan-cc.conf.in b/darshan-runtime/share/mpi-profile/darshan-cc.conf.in
new file mode 100644
index 0000000..70fe29a
--- /dev/null
+++ b/darshan-runtime/share/mpi-profile/darshan-cc.conf.in
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+# Example Darshan profiling configuration file for MPICH.
+
+
+DARSHAN_PREFIX=@prefix@
+
+# Libraries (and paths) to include before the MPI library 
+export PROFILE_PRELIB=`$DARSHAN_PREFIX/bin/darshan-config --pre-ld-flags`
+
+# Libraries to include after the MPI library 
+export PROFILE_POSTLIB=`$DARSHAN_PREFIX/bin/darshan-config --post-ld-flags`
+
+# C preprocessor arguments for any include files For example, to add
+# /usr/local/myprof/include to the include path and the library libmyprof.a in
+# /usr/local/myprof/lib to the link step, you could create the file myprof.conf with the
+# lines 
+# PROFILE_INCPATHS
diff --git a/darshan-runtime/share/mpi-profile/darshan-cxx.conf.in b/darshan-runtime/share/mpi-profile/darshan-cxx.conf.in
new file mode 100644
index 0000000..c1bb183
--- /dev/null
+++ b/darshan-runtime/share/mpi-profile/darshan-cxx.conf.in
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+# Example Darshan profiling configuration file for MPICH.
+
+
+DARSHAN_PREFIX=@prefix@
+
+# Libraries (and paths) to include before the MPI library 
+export PROFILE_PRELIB="-lmpichcxx `$DARSHAN_PREFIX/bin/darshan-config --pre-ld-flags`"
+
+# Libraries to include after the MPI library 
+export PROFILE_POSTLIB=`$DARSHAN_PREFIX/bin/darshan-config --post-ld-flags`
+
+# C preprocessor arguments for any include files For example, to add
+# /usr/local/myprof/include to the include path and the library libmyprof.a in
+# /usr/local/myprof/lib to the link step, you could create the file myprof.conf with the
+# lines 
+# PROFILE_INCPATHS
diff --git a/darshan-runtime/share/mpi-profile/darshan-f.conf.in b/darshan-runtime/share/mpi-profile/darshan-f.conf.in
new file mode 100644
index 0000000..57dc94d
--- /dev/null
+++ b/darshan-runtime/share/mpi-profile/darshan-f.conf.in
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+# Example Darshan profiling configuration file for MPICH.
+
+
+DARSHAN_PREFIX=@prefix@
+
+# Libraries (and paths) to include before the MPI library 
+export PROFILE_PRELIB="-lfmpich `$DARSHAN_PREFIX/bin/darshan-config --pre-ld-flags`"
+
+# Libraries to include after the MPI library 
+export PROFILE_POSTLIB=`$DARSHAN_PREFIX/bin/darshan-config --post-ld-flags`
+
+# C preprocessor arguments for any include files For example, to add
+# /usr/local/myprof/include to the include path and the library libmyprof.a in
+# /usr/local/myprof/lib to the link step, you could create the file myprof.conf with the
+# lines 
+# PROFILE_INCPATHS
diff --git a/darshan-test/regression/workstation-dynamic/env.sh b/darshan-test/regression/workstation-profile-conf/env.sh
similarity index 66%
copy from darshan-test/regression/workstation-dynamic/env.sh
copy to darshan-test/regression/workstation-profile-conf/env.sh
index 1536d61..0147783 100755
--- a/darshan-test/regression/workstation-dynamic/env.sh
+++ b/darshan-test/regression/workstation-profile-conf/env.sh
@@ -19,9 +19,9 @@
 # Notes specific to this platform (workstation-dynamic)_
 ########################
 # This particular env script assumes that mpicc and its variants for other 
-# languages are already in the path, and that they will produce dynamic
-# executables by default.  Test programs are compile usign the existing
-# scripts, and LD_PRELOAD is set to enable instrumentation.
+# 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 just mpiexec, no scheduler
 
@@ -29,12 +29,10 @@ export DARSHAN_CC=mpicc
 export DARSHAN_CXX=mpicxx
 export DARSHAN_F77=mpif77
 export DARSHAN_F90=mpif90
-FULL_MPICC_PATH=`which mpicc`
 
-# This is a hack.  In order to instrument Fortran programs with LD_PRELOAD,
-# we must prepend libfmpich.so to the LD_PRELOAD variable, but with a fully
-# resolve path.  To find a path we locate mpicc and speculate that
-# libfmich.so can be found in ../lib.
-export LD_PRELOAD=`dirname $FULL_MPICC_PATH`/../lib/libfmpich.so:$DARSHAN_PATH/lib/libdarshan.so:$LD_PRELOAD
+export MPICC_PROFILE=$DARSHAN_PATH/share/mpi-profile/darshan-cc
+export MPICXX_PROFILE=$DARSHAN_PATH/share/mpi-profile/darshan-cxx
+export MPIF90_PROFILE=$DARSHAN_PATH/share/mpi-profile/darshan-f
+export MPIF77_PROFILE=$DARSHAN_PATH/share/mpi-profile/darshan-f
 
 export DARSHAN_RUNJOB="mpiexec -n $DARSHAN_DEFAULT_NPROCS"


hooks/post-receive
--



More information about the Darshan-commits mailing list