From 34281f0fa231e9a9767380c5d2c14cb6eb233952 Mon Sep 17 00:00:00 2001 From: Matthias Jurenz Date: Mon, 25 Jan 2010 16:08:56 +0000 Subject: [PATCH] - added environment variable VT_METRICS_SEP to specify a string which separate the counter names in VT_METRICS - set configure variable 'inside_openmpi' to "no", if hidden argument '--with-openmpi-inside' not given - added functions 'MPI_Group_range_' to Fortran MPI wrappers - updated default configure options for NECSX, BlueGene/L+P - repaired tools/opari/doc/lacsi01.pdf - fixed several Coverity warnings This commit was SVN r22476. --- ompi/contrib/vt/vt/ChangeLog | 6 +- ompi/contrib/vt/vt/config/defaults/bgl | 1 + ompi/contrib/vt/vt/config/defaults/bgp | 1 + ompi/contrib/vt/vt/config/defaults/necsx | 1 + ompi/contrib/vt/vt/config/m4/acinclude.bfd.m4 | 2 +- .../config/mpigen/fortran_dont_generate.txt | 2 - .../vt/config/mpigen/mk_fortran_wrapper.sh.in | 13 +- ompi/contrib/vt/vt/configure.in | 4 +- ompi/contrib/vt/vt/doc/UserManual.html | 37 +-- ompi/contrib/vt/vt/doc/UserManual.pdf | Bin 376547 -> 376767 bytes .../vt/vt/extlib/otf/otflib/OTF_Parse.c | 11 +- .../vt/vt/extlib/otf/otflib/OTF_Reader.c | 6 +- .../vt/vt/extlib/otf/tools/otfinfo/otfinfo.c | 238 +++++++++--------- .../otf/tools/otfprofile/DataStructure.cpp | 2 +- .../otf/tools/otfprofile/DataStructure.h | 2 +- .../otf/tools/otfprofile/otfprofile.cpp | 4 +- .../vt/extlib/otf/tools/otfshrink/Handler.cpp | 15 +- .../extlib/otf/tools/otfshrink/otfshrink.cpp | 131 +++++++--- .../contrib/vt/vt/tools/opari/doc/lacsi01.pdf | Bin 987837 -> 987843 bytes ompi/contrib/vt/vt/tools/vtunify/vt_unify.cc | 139 +++++----- ompi/contrib/vt/vt/tools/vtunify/vt_unify.h | 1 - .../vt/vt/tools/vtunify/vt_unify_defs.cc | 23 +- .../vt/vt/tools/vtwrapper/vt_wrapper.cc | 79 +++--- ompi/contrib/vt/vt/vtlib/vt_env.c | 28 ++- ompi/contrib/vt/vt/vtlib/vt_env.h | 1 + ompi/contrib/vt/vt/vtlib/vt_fork.c | 7 +- ompi/contrib/vt/vt/vtlib/vt_libwrap.c | 6 +- ompi/contrib/vt/vt/vtlib/vt_metric_cpc.c | 7 +- ompi/contrib/vt/vt/vtlib/vt_metric_necsx.c | 7 +- ompi/contrib/vt/vt/vtlib/vt_metric_papi.c | 43 ++-- ompi/contrib/vt/vt/vtlib/vt_mpiwrap.c | 20 +- ompi/contrib/vt/vt/vtlib/vt_otf_gen.c | 16 +- ompi/contrib/vt/vt/vtlib/vt_otf_trc.c | 24 +- 33 files changed, 513 insertions(+), 364 deletions(-) diff --git a/ompi/contrib/vt/vt/ChangeLog b/ompi/contrib/vt/vt/ChangeLog index 44c38c8d23..0cb3fc4e09 100644 --- a/ompi/contrib/vt/vt/ChangeLog +++ b/ompi/contrib/vt/vt/ChangeLog @@ -1,12 +1,15 @@ 5.8.1openmpi - updated version of internal OTF to 1.6.5openmpi (see extlib/otf/ChangeLog) + - added functions 'MPI_Group_range_' to Fortran MPI wrappers + - added environment variable VT_METRICS_SEP to specify a string which separate + the counter names in VT_METRICS - fixed build error: do not add objects from the static version of the BFD library to the shared VT libraries, because the BFD objects might be built without position independent code (PIC) 5.8openmpi - - updated version of internal OTF to 1.6.4openmpi + - updated version of internal OTF to 1.6.4stingray (see extlib/otf/ChangeLog) - added support for tracing calls to arbitrary third party libraries The new tool 'vtlibwrapgen' can be used to generate a wrapper library. @@ -14,6 +17,7 @@ filter directives - added support for automatic instrumentation with PGI 9 compiler using its new compiler flag '-Minstrument' + - added MPI-parallel trace unifier (vtunify-mpi) - disabled simultaneous support for multiple compiler instrumentation types in one VampirTrace installation (all known compiler instrumentation types for the compiler wrappers diff --git a/ompi/contrib/vt/vt/config/defaults/bgl b/ompi/contrib/vt/vt/config/defaults/bgl index 3ba39ffc8c..01f0a7e73f 100644 --- a/ompi/contrib/vt/vt/config/defaults/bgl +++ b/ompi/contrib/vt/vt/config/defaults/bgl @@ -3,6 +3,7 @@ CXX="blrts_xlC" F77="blrts_xlf90" FC="blrts_xlf90" MPICC="mpixlc" +MPICXX="mpixlcxx" CC_FOR_BUILD="xlc_r" CXX_FOR_BUILD="xlC_r" enable_shared="no" diff --git a/ompi/contrib/vt/vt/config/defaults/bgp b/ompi/contrib/vt/vt/config/defaults/bgp index 877a5c8e55..3cf2adfe42 100644 --- a/ompi/contrib/vt/vt/config/defaults/bgp +++ b/ompi/contrib/vt/vt/config/defaults/bgp @@ -3,6 +3,7 @@ CXX="bgxlC_r" F77="bgxlf_r" FC="bgxlf95_r" MPICC="mpixlc_r" +MPICXX="mpixlcxx_r" CC_FOR_BUILD="xlc_r" CXX_FOR_BUILD="xlC_r" enable_shared="no" diff --git a/ompi/contrib/vt/vt/config/defaults/necsx b/ompi/contrib/vt/vt/config/defaults/necsx index e57202063c..2a4b970a5f 100644 --- a/ompi/contrib/vt/vt/config/defaults/necsx +++ b/ompi/contrib/vt/vt/config/defaults/necsx @@ -5,6 +5,7 @@ F77="sxf90" FC="sxf90" CCAS="sxas" MPICC="sxmpicc" +MPICXX="sxmpic++" MPIF77="sxmpif90" CC_FOR_BUILD="cc" CXX_FOR_BUILD="c++" diff --git a/ompi/contrib/vt/vt/config/m4/acinclude.bfd.m4 b/ompi/contrib/vt/vt/config/m4/acinclude.bfd.m4 index f24d9d37a5..9cbe596480 100644 --- a/ompi/contrib/vt/vt/config/m4/acinclude.bfd.m4 +++ b/ompi/contrib/vt/vt/config/m4/acinclude.bfd.m4 @@ -11,7 +11,7 @@ AC_DEFUN([ACVT_BFD], BFDLIB= AC_ARG_WITH(bfd, - AC_HELP_STRING([--with-bfd], [use BFD to get symbol information of an executable instrumented with GNU, Intel, or Pathscale compiler, default: yes]), + AC_HELP_STRING([--with-bfd], [use BFD to get symbol information of an executable instrumented with GNU, Intel, PGI9, or Pathscale compiler, default: yes]), [AS_IF([test x"$withval" = "xyes"], [force_bfd="yes"], [check_bfd="no"])]) AC_ARG_WITH(bfd-dir, diff --git a/ompi/contrib/vt/vt/config/mpigen/fortran_dont_generate.txt b/ompi/contrib/vt/vt/config/mpigen/fortran_dont_generate.txt index 0020b45388..a7f06ca69f 100644 --- a/ompi/contrib/vt/vt/config/mpigen/fortran_dont_generate.txt +++ b/ompi/contrib/vt/vt/config/mpigen/fortran_dont_generate.txt @@ -1,8 +1,6 @@ # This file lists all calls, which should not be generated # automatically by mk_fortran_wrapper.sh -MPI_Group_range_excl -MPI_Group_range_incl MPI_Init MPI_Initialized MPI_Init_thread diff --git a/ompi/contrib/vt/vt/config/mpigen/mk_fortran_wrapper.sh.in b/ompi/contrib/vt/vt/config/mpigen/mk_fortran_wrapper.sh.in index c578a37a5a..fdde5f7779 100644 --- a/ompi/contrib/vt/vt/config/mpigen/mk_fortran_wrapper.sh.in +++ b/ompi/contrib/vt/vt/config/mpigen/mk_fortran_wrapper.sh.in @@ -110,7 +110,7 @@ cat <$tmp.awk if (type[i-2] == "char*") { strings[stringcnt++] = para[i-2] printf "%s %s", type[i-2], para[i-2] - } else if (index(type[i-2], "*") != 0) { + } else if (index(type[i-2], "*") != 0 || index(para[i-2], "[") != 0) { printf "%s %s", converttype(type[i-2]), para[i-2] } else { printf "%s* %s", converttype(type[i-2]), para[i-2] @@ -155,8 +155,6 @@ cat <$tmp.awk printf " *ierr = %s(", mpicall for (i=3; i<=NF; i++) { if (i > 3) printf ", " - #remove arrays declarations from parameter: - gsub("[[].*[]]","",para[i-2]) # If the original type already needed a pointer, pass as is, # otherwise dereference the parameter printf "%s", get_converted_name(para[i-2],type[i-2]) @@ -179,7 +177,7 @@ cat <$tmp.awk } else { for (i=3; i<=NF; i++) { if (i > 3) printf ", " - if (index(type[i-2], "*") != 0) + if (index(type[i-2], "*") != 0 || index(para[i-2], "[") != 0) printf "%s %s", converttype(type[i-2]), para[i-2] else printf "%s* %s", converttype(type[i-2]), para[i-2] @@ -763,10 +761,13 @@ function get_converted_name(para,type) { if (type == "char*") return para "C" pointer="" - if (index(type, "*") == 0) + if (index(type, "*") == 0 && index(para, "[") == 0) pointer="*" - #Find out wheter we have to pass address operator "&" + #remove arrays declarations from parameter: + gsub("[[].*[]]","",para) + + #find out wheter we have to pass address operator "&" address="" if ((index(para,"_CLASS_SINGLE_") != 0) && (index(type,"MPI_Status") == 0) ) address="&" diff --git a/ompi/contrib/vt/vt/configure.in b/ompi/contrib/vt/vt/configure.in index 050614ec30..5169d7c595 100644 --- a/ompi/contrib/vt/vt/configure.in +++ b/ompi/contrib/vt/vt/configure.in @@ -12,7 +12,9 @@ AM_CONFIG_HEADER(config.h) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) # Check whether we are inside Open MPI package -AC_ARG_WITH(openmpi-inside, [], [inside_openmpi="yes"]) +inside_openmpi="no" +AC_ARG_WITH(openmpi-inside, [], +[AS_IF([test x"$withval" != "xno"], [inside_openmpi="yes"])]) ACVT_CONF_INIT diff --git a/ompi/contrib/vt/vt/doc/UserManual.html b/ompi/contrib/vt/vt/doc/UserManual.html index 679e6d49d4..c1dbcee866 100644 --- a/ompi/contrib/vt/vt/doc/UserManual.html +++ b/ompi/contrib/vt/vt/doc/UserManual.html @@ -52,8 +52,7 @@ DIV.navigation { } SPAN.textbf { font-weight: bold } SPAN.arabic { } SPAN.textit { font-style: italic } - -BODY {font-family: sans-serif;} +body {font-family: sans-serif;} @@ -62,7 +61,7 @@ BODY {font-family: sans-serif;}

-VampirTrace 5.8 User Manual +VampirTrace 5.8.1 User Manual


@@ -289,18 +288,18 @@ OpenMP events, and performance counters.

After a successful tracing run, VampirTrace writes all collected data to a trace file in the Open Trace Format (OTF)[+]. + HREF="#foot1149">[+]. As a result, the information is available for post-mortem analysis and visualization by various tools. Most notably, VampirTrace provides the input data for the Vampir analysis and visualization tool[+]. + HREF="#foot1150">[+].

VampirTrace is included in OpenMPI 1.3 and later versions. If not disabled explicitly, VampirTrace is built automatically when installing OpenMPI[+]. + HREF="#foot1151">[+].

Trace files can quickly become very large, especially with automatic instrumentation. @@ -1048,7 +1047,7 @@ Binary Instrumentation Using Dyninst The option -vt:inst dyninst is used with the compiler wrapper to instrument the application during runtime (binary instrumentation), by using Dyninst[+]. + HREF="#foot1175">[+]. Recompiling is not necessary for this kind of instrumentation, but relinking: @@ -1310,7 +1309,7 @@ of a VampirTrace instrumented executable: 1 VT_MAX_THREADS -Maximum number of threads (Maximum number of threads ([IMAGE png]) per process that VampirTrace reserves resources for. 65536 @@ -1430,11 +1429,15 @@ of a VampirTrace instrumented executable: VT_METRICS Specify counter metrics to be recorded with trace events as a - colon-separated list of names. + colon/VT_METRICS_SEP-separated list of names.
⇒ Section [*] - +VT_METRICS_SEP +Separator string between counter specifications in VT_METRICS. +: + VT_RUSAGE Colon-separated list of resource usage counters which shall be recorded.
@@ -1684,7 +1687,7 @@ for the enhanced timer synchronization: