[Darshan-commits] [Git][darshan/darshan][carns/dev-dyn-link-updates] 2 commits: remove bg-specific profile confs

Philip Carns xgitlab at cels.anl.gov
Fri Mar 20 15:20:15 CDT 2020



Philip Carns pushed to branch carns/dev-dyn-link-updates at darshan / darshan


Commits:
c43daa44 by Phil Carns at 2020-03-20T15:49:40-04:00
remove bg-specific profile confs

- - - - -
e395477b by Phil Carns at 2020-03-20T16:19:42-04:00
revise profile conf examples

- eliminate blue gene conf files (deprecated)
- make dynamic linking default
- provide examples for static linking

- - - - -


12 changed files:

- darshan-runtime/Makefile.in
- darshan-runtime/configure
- darshan-runtime/configure.in
- − darshan-runtime/share/mpi-profile/darshan-bg-cc.conf.in
- − darshan-runtime/share/mpi-profile/darshan-bg-cxx.conf.in
- − darshan-runtime/share/mpi-profile/darshan-bg-f.conf.in
- + darshan-runtime/share/mpi-profile/darshan-cc-static.conf.in
- darshan-runtime/share/mpi-profile/darshan-cc.conf.in
- + darshan-runtime/share/mpi-profile/darshan-cxx-static.conf.in
- darshan-runtime/share/mpi-profile/darshan-cxx.conf.in
- + darshan-runtime/share/mpi-profile/darshan-f-static.conf.in
- darshan-runtime/share/mpi-profile/darshan-f.conf.in


Changes:

=====================================
darshan-runtime/Makefile.in
=====================================
@@ -242,9 +242,9 @@ endif
 	install -m 755 share/mpi-profile/darshan-cc.conf $(DESTDIR)$(datarootdir)/mpi-profile/darshan-cc.conf
 	install -m 755 share/mpi-profile/darshan-cxx.conf $(DESTDIR)$(datarootdir)/mpi-profile/darshan-cxx.conf
 	install -m 755 share/mpi-profile/darshan-f.conf $(DESTDIR)$(datarootdir)/mpi-profile/darshan-f.conf
-	install -m 755 share/mpi-profile/darshan-bg-cc.conf $(DESTDIR)$(datarootdir)/mpi-profile/darshan-bg-cc.conf
-	install -m 755 share/mpi-profile/darshan-bg-cxx.conf $(DESTDIR)$(datarootdir)/mpi-profile/darshan-bg-cxx.conf
-	install -m 755 share/mpi-profile/darshan-bg-f.conf $(DESTDIR)$(datarootdir)/mpi-profile/darshan-bg-f.conf
+	install -m 755 share/mpi-profile/darshan-cc-static.conf $(DESTDIR)$(datarootdir)/mpi-profile/darshan-cc-static.conf
+	install -m 755 share/mpi-profile/darshan-cxx-static.conf $(DESTDIR)$(datarootdir)/mpi-profile/darshan-cxx-static.conf
+	install -m 755 share/mpi-profile/darshan-f-static.conf $(DESTDIR)$(datarootdir)/mpi-profile/darshan-f-static.conf
 	install -d $(DESTDIR)$(datarootdir)/ld-opts
 	install -m 644 share/ld-opts/darshan-base-ld-opts $(DESTDIR)$(datarootdir)/ld-opts/darshan-base-ld-opts
 ifdef BUILD_POSIX_MODULE


=====================================
darshan-runtime/configure
=====================================
@@ -679,6 +679,7 @@ infodir
 docdir
 oldincludedir
 includedir
+runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -774,6 +775,7 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1026,6 +1028,15 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
+  -runstatedir | --runstatedir | --runstatedi | --runstated \
+  | --runstate | --runstat | --runsta | --runst | --runs \
+  | --run | --ru | --r)
+    ac_prev=runstatedir ;;
+  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+  | --run=* | --ru=* | --r=*)
+    runstatedir=$ac_optarg ;;
+
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1163,7 +1174,7 @@ fi
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
+		libdir localedir mandir runstatedir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1316,6 +1327,7 @@ Fine tuning of the installation directories:
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -4878,7 +4890,7 @@ DARSHAN_VERSION="3.2.0-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 share/mpi-profile/darshan-cc.conf share/mpi-profile/darshan-cxx.conf share/mpi-profile/darshan-f.conf share/mpi-profile/darshan-bg-cc.conf share/mpi-profile/darshan-bg-cxx.conf share/mpi-profile/darshan-bg-f.conf share/ld-opts/darshan-base-ld-opts"
+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 share/mpi-profile/darshan-cc-static.conf share/mpi-profile/darshan-cxx-static.conf share/mpi-profile/darshan-f-static.conf share/ld-opts/darshan-base-ld-opts"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -5585,9 +5597,9 @@ do
     "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" ;;
-    "share/mpi-profile/darshan-bg-cc.conf") CONFIG_FILES="$CONFIG_FILES share/mpi-profile/darshan-bg-cc.conf" ;;
-    "share/mpi-profile/darshan-bg-cxx.conf") CONFIG_FILES="$CONFIG_FILES share/mpi-profile/darshan-bg-cxx.conf" ;;
-    "share/mpi-profile/darshan-bg-f.conf") CONFIG_FILES="$CONFIG_FILES share/mpi-profile/darshan-bg-f.conf" ;;
+    "share/mpi-profile/darshan-cc-static.conf") CONFIG_FILES="$CONFIG_FILES share/mpi-profile/darshan-cc-static.conf" ;;
+    "share/mpi-profile/darshan-cxx-static.conf") CONFIG_FILES="$CONFIG_FILES share/mpi-profile/darshan-cxx-static.conf" ;;
+    "share/mpi-profile/darshan-f-static.conf") CONFIG_FILES="$CONFIG_FILES share/mpi-profile/darshan-f-static.conf" ;;
     "share/ld-opts/darshan-base-ld-opts") CONFIG_FILES="$CONFIG_FILES share/ld-opts/darshan-base-ld-opts" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;


=====================================
darshan-runtime/configure.in
=====================================
@@ -531,9 +531,9 @@ lib/pkgconfig/darshan-runtime.pc
 share/mpi-profile/darshan-cc.conf
 share/mpi-profile/darshan-cxx.conf
 share/mpi-profile/darshan-f.conf
-share/mpi-profile/darshan-bg-cc.conf
-share/mpi-profile/darshan-bg-cxx.conf
-share/mpi-profile/darshan-bg-f.conf
+share/mpi-profile/darshan-cc-static.conf
+share/mpi-profile/darshan-cxx-static.conf
+share/mpi-profile/darshan-f-static.conf
 share/ld-opts/darshan-base-ld-opts
 )
 


=====================================
darshan-runtime/share/mpi-profile/darshan-bg-cc.conf.in deleted
=====================================
@@ -1,29 +0,0 @@
-#!/bin/bash
-
-# Example Darshan profiling configuration file for MPICH.
-DARSHAN_PREFIX=@prefix@
-
-# Check to see if user explicitly specified dynamic linking options
-echo $CFLAGS |grep "\\-dynamic" >& /dev/null
-dyncheck1=$?
-echo $LDFLAGS |grep "\\-dynamic" >& /dev/null
-dyncheck2=$?
-echo "${allargs[@]}" | grep "\\-dynamic" >& /dev/null
-dyncheck3=$?
-
-# Skip profiling if we know that dynamic linking is in use.  See LD_PRELOAD 
-# method instead.
-if [ "$dyncheck1" -ne 0 -a "$dyncheck2" -ne 0 -a "$dyncheck3" -ne 0 ]; then
-
-	# 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`
-fi
-
-# 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


=====================================
darshan-runtime/share/mpi-profile/darshan-bg-cxx.conf.in deleted
=====================================
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-# Example Darshan profiling configuration file for MPICH.
-
-
-DARSHAN_PREFIX=@prefix@
-
-# Check to see if user explicitly specified dynamic linking options
-echo $CFLAGS |grep "\\-dynamic" >& /dev/null
-dyncheck1=$?
-echo $LDFLAGS |grep "\\-dynamic" >& /dev/null
-dyncheck2=$?
-echo "${allargs[@]}" | grep "\\-dynamic" >& /dev/null
-dyncheck3=$?
-
-# Skip profiling if we know that dynamic linking is in use.  See LD_PRELOAD 
-# method instead.
-if [ "$dyncheck1" -ne 0 -a "$dyncheck2" -ne 0 -a "$dyncheck3" -ne 0 ]; then
-
-	# NOTE: there is something fragile here.  We are relying on the BG mpicxx script to set a 
-        #       variable called $cxxlibs to the name of the libmpichcxx variant that we need in order
-        #       to intercept pmpi calls
-
-	# Libraries (and paths) to include before the MPI library 
-	export PROFILE_PRELIB="$cxxlibs `$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`
-fi
-
-# 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


=====================================
darshan-runtime/share/mpi-profile/darshan-bg-f.conf.in deleted
=====================================
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-# Example Darshan profiling configuration file for MPICH.
-
-
-DARSHAN_PREFIX=@prefix@
-
-# Check to see if user explicitly specified dynamic linking options
-echo $CFLAGS |grep "\\-dynamic" >& /dev/null
-dyncheck1=$?
-echo $LDFLAGS |grep "\\-dynamic" >& /dev/null
-dyncheck2=$?
-echo "${allargs[@]}" | grep "\\-dynamic" >& /dev/null
-dyncheck3=$?
-
-# try to detect name of libmpichf77 or libmpichf90 library needed for pmpi
-#   - these may be named with different suffixes to match the compiler version
-D_MPI_PRELIB=`echo $LIBS |grep "\-lmpichf\\S\+\-\\S\+" -o`
-
-# Skip profiling if we know that dynamic linking is in use.  See LD_PRELOAD 
-# method instead.
-if [ "$dyncheck1" -ne 0 -a "$dyncheck2" -ne 0 -a "$dyncheck3" -ne 0 ]; then
-
-	# Libraries (and paths) to include before the MPI library 
-	export PROFILE_PRELIB="$D_MPI_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`
-fi
-
-# 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


=====================================
darshan-runtime/share/mpi-profile/darshan-cc-static.conf.in
=====================================
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+# Example Darshan profiling configuration file for MPICH when using static
+# linking.
+
+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`
+


=====================================
darshan-runtime/share/mpi-profile/darshan-cc.conf.in
=====================================
@@ -3,27 +3,5 @@
 # Example Darshan profiling configuration file for MPICH.
 DARSHAN_PREFIX=@prefix@
 
-# Check to see if user explicitly specified dynamic linking options
-echo $CFLAGS |grep "\\-dynamic" >& /dev/null
-dyncheck1=$?
-echo $LDFLAGS |grep "\\-dynamic" >& /dev/null
-dyncheck2=$?
-echo "${allargs[@]}" | grep "\\-dynamic" >& /dev/null
-dyncheck3=$?
-
-# Skip profiling if we know that dynamic linking is in use.  See LD_PRELOAD 
-# method instead.
-if [ "$dyncheck1" -ne 0 -a "$dyncheck2" -ne 0 -a "$dyncheck3" -ne 0 ]; then
-
-	# 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`
-fi
-
-# 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
+# Libraries (and paths) to include before the MPI library
+export PROFILE_PRELIB=`$DARSHAN_PREFIX/bin/darshan-config --dyn-ld-flags`


=====================================
darshan-runtime/share/mpi-profile/darshan-cxx-static.conf.in
=====================================
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+# Example Darshan profiling configuration file for MPICH when statically
+# linking.
+
+DARSHAN_PREFIX=@prefix@
+MPICH_LIB_OLD=@MPICH_LIB_OLD@
+
+# Libraries (and paths) to include before the MPI library
+if [ $MPICH_LIB_OLD -eq 1 ]; then
+    export PROFILE_PRELIB="-lmpichcxx `$DARSHAN_PREFIX/bin/darshan-config --pre-ld-flags`"
+else
+    export PROFILE_PRELIB="-lmpicxx `$DARSHAN_PREFIX/bin/darshan-config --pre-ld-flags`"
+fi
+
+# Libraries to include after the MPI library
+export PROFILE_POSTLIB=`$DARSHAN_PREFIX/bin/darshan-config --post-ld-flags`


=====================================
darshan-runtime/share/mpi-profile/darshan-cxx.conf.in
=====================================
@@ -2,35 +2,8 @@
 
 # Example Darshan profiling configuration file for MPICH.
 
-
 DARSHAN_PREFIX=@prefix@
-MPICH_LIB_OLD=@MPICH_LIB_OLD@
-
-# Check to see if user explicitly specified dynamic linking options
-echo $CFLAGS |grep "\\-dynamic" >& /dev/null
-dyncheck1=$?
-echo $LDFLAGS |grep "\\-dynamic" >& /dev/null
-dyncheck2=$?
-echo "${allargs[@]}" | grep "\\-dynamic" >& /dev/null
-dyncheck3=$?
-
-# Skip profiling if we know that dynamic linking is in use.  See LD_PRELOAD 
-# method instead.
-if [ "$dyncheck1" -ne 0 -a "$dyncheck2" -ne 0 -a "$dyncheck3" -ne 0 ]; then
-
-	# Libraries (and paths) to include before the MPI library 
-	if [ $MPICH_LIB_OLD -eq 1 ]; then
-	    export PROFILE_PRELIB="-lmpichcxx `$DARSHAN_PREFIX/bin/darshan-config --pre-ld-flags`"
-	else
-	    export PROFILE_PRELIB="-lmpicxx `$DARSHAN_PREFIX/bin/darshan-config --pre-ld-flags`"
-	fi
 
-	# Libraries to include after the MPI library 
-	export PROFILE_POSTLIB=`$DARSHAN_PREFIX/bin/darshan-config --post-ld-flags`
-fi
+# Libraries (and paths) to include before the MPI library
+export PROFILE_PRELIB="`$DARSHAN_PREFIX/bin/darshan-config --dyn-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


=====================================
darshan-runtime/share/mpi-profile/darshan-f-static.conf.in
=====================================
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+# Example Darshan profiling configuration file for MPICH.
+
+
+DARSHAN_PREFIX=@prefix@
+MPICH_LIB_OLD=@MPICH_LIB_OLD@
+
+# Libraries (and paths) to include before the MPI library
+if [ $MPICH_LIB_OLD -eq 1 ]; then
+    export PROFILE_PRELIB="-lfmpich `$DARSHAN_PREFIX/bin/darshan-config --pre-ld-flags`"
+else
+    export PROFILE_PRELIB="-lmpifort `$DARSHAN_PREFIX/bin/darshan-config --pre-ld-flags`"
+fi
+
+# Libraries to include after the MPI library
+export PROFILE_POSTLIB=`$DARSHAN_PREFIX/bin/darshan-config --post-ld-flags`
+


=====================================
darshan-runtime/share/mpi-profile/darshan-f.conf.in
=====================================
@@ -4,33 +4,5 @@
 
 
 DARSHAN_PREFIX=@prefix@
-MPICH_LIB_OLD=@MPICH_LIB_OLD@
 
-# Check to see if user explicitly specified dynamic linking options
-echo $CFLAGS |grep "\\-dynamic" >& /dev/null
-dyncheck1=$?
-echo $LDFLAGS |grep "\\-dynamic" >& /dev/null
-dyncheck2=$?
-echo "${allargs[@]}" | grep "\\-dynamic" >& /dev/null
-dyncheck3=$?
-
-# Skip profiling if we know that dynamic linking is in use.  See LD_PRELOAD 
-# method instead.
-if [ "$dyncheck1" -ne 0 -a "$dyncheck2" -ne 0 -a "$dyncheck3" -ne 0 ]; then
-
-	# Libraries (and paths) to include before the MPI library 
-	if [ $MPICH_LIB_OLD -eq 1 ]; then
-	    export PROFILE_PRELIB="-lfmpich `$DARSHAN_PREFIX/bin/darshan-config --pre-ld-flags`"
-	else
-	    export PROFILE_PRELIB="-lmpifort `$DARSHAN_PREFIX/bin/darshan-config --pre-ld-flags`"
-	fi
-
-	# Libraries to include after the MPI library 
-	export PROFILE_POSTLIB=`$DARSHAN_PREFIX/bin/darshan-config --post-ld-flags`
-fi
-
-# 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
+export PROFILE_PRELIB="`$DARSHAN_PREFIX/bin/darshan-config --dyn-ld-flags`"



View it on GitLab: https://xgitlab.cels.anl.gov/darshan/darshan/compare/fe91e0ff19a7721e64cc8546bc7fa77bab8e7bc7...e395477b9af687bbfdccba940c35f378d2d43e3e

-- 
View it on GitLab: https://xgitlab.cels.anl.gov/darshan/darshan/compare/fe91e0ff19a7721e64cc8546bc7fa77bab8e7bc7...e395477b9af687bbfdccba940c35f378d2d43e3e
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/20200320/320e49cb/attachment-0001.html>


More information about the Darshan-commits mailing list