1
1
- otfprofile[-mpi]:
                - fixed compile error with the PGI compiler

Changes to VT:
        - added support for LIBC [I/O] tracing on Cray XT platforms
        - vtrun:
                - do preload Dyninst runtime library (DYNINSTAPI_RT_LIB) when
                  instrumenting user functions by Dyninst

This commit was SVN r25505.
Этот коммит содержится в:
Matthias Jurenz 2011-11-25 11:51:08 +00:00
родитель 2bb447c804
Коммит 6b879bcf6e
11 изменённых файлов: 94 добавлений и 42 удалений

Просмотреть файл

@ -11,6 +11,7 @@
- merge groups which have the same members to one group
- name groups to "MPI Group X"
- added writing of process begin/end records
- added support for LIBC [I/O] tracing on Cray XT platforms
- added environment variable VT_ONOFF_CHECK_STACK_BALANCE to
enable/disable check for stack level balance when switching tracing
on/off by using the user API
@ -18,15 +19,22 @@
building of Fortran support
- install a symbolic link 'vtfiltergen[-mpi]' which is a synonym for
'vtfilter[-mpi] --gen'
- if possible, get resource usage counters for the calling thread
instead of the process
- disabled unnecessary time synchronization on NEC SX platforms
- removed MPI_Address and MPI_Get_address from MPI wrappers
- removed limitation of maximum defined MPI handles (groups, comms.,
and windows) in a MPI program
- fixed incorrect handling of MPI_IN_PLACE
- fixed erroneous handling of MPI_Aint within the Fortran MPI wrappers
- fixed incomplete tracking of MPI inter-communicators
- fixed error handling on flushing the trace buffer
- fixed potential memory corruption when flushing the trace buffer
multiple times (VT_MAX_FLUSHES != 1)
- fixed numbering in thread names
- vtunify:
- fixed parsing of negative time offsets within unify
control data
- vtdyn:
- detach from application process before continuing its
execution (allows signal trapping (e.g. Ctrl+C) within the
@ -37,17 +45,14 @@
- compiler wrappers:
- added options '-vt:preprocess', '-vt:cpp', and '-vt:cppflags'
to preprocess source files before parsing by OPARI and/or TAU
- added options '-vt:opari-rcfile' and '-vt:opari-table' to set
pathnames of the OPARI resource and runtime table file
- added option '-vt:nocleanup' to keep intermediate files
- vtrun:
- do preload Dyninst runtime library (DYNINSTAPI_RT_LIB) when
instrumenting user functions by Dyninst
- vtsetup: (see tools/vtsetup/ChangeLog:1.0.1)
5.11.3
- if possible, get resource usage counters for the calling thread
instead of the process
- removed MPI_Address and MPI_Get_address from MPI wrappers
- fixed incomplete tracking of MPI inter-communicators
- vtunify: fixed parsing of negative time offsets within unify
control data
5.11.2
- updated version of internal OTF to 1.9.2sawfish
(see extlib/otf/ChangeLog)

Просмотреть файл

@ -8,3 +8,4 @@ FFLAGS="-target=$XTPE_COMPILE_TARGET"
FCFLAGS="-target=$XTPE_COMPILE_TARGET"
enable_shared="no"
with_mpich2="yes"
with_libc=/lib64/libc-2.4.so

Просмотреть файл

@ -33,7 +33,7 @@ AC_DEFUN([ACVT_DL],
AC_HELP_STRING([--with-dl-lib=DLLIB], [use given libdl lib, default: -ldl]),
[DLLIB="$withval"])
AS_IF([test "$PLATFORM" = "bgl" -o "$PLATFORM" = "crayxt"],
AS_IF([test "$PLATFORM" = "bgl"],
[
AC_MSG_NOTICE([error: dynamic linking library (libdl) isn't suitable on this platform])
dl_error="yes"

Просмотреть файл

@ -4032,6 +4032,14 @@ options:
-vt:opari <!args> Set options for OPARI command. (see
share/vampirtrace/doc/opari/Readme.html)
-vt:opari-rcfile <file>
Set pathname of the OPARI resource file.
(default: opari.rc)
-vt:opari-table <file>
Set pathname of the OPARI runtime table file.
(default: opari.tab.c)
-vt:noopari Disable instrumentation of OpenMP contructs
by OPARI.

Двоичные данные
ompi/contrib/vt/vt/doc/UserManual.pdf

Двоичный файл не отображается.

Двоичный файл не отображается.

Просмотреть файл

@ -3,8 +3,6 @@
Authors: Andreas Knuepfer, Robert Dietrich, Matthias Jurenz, Andre Groetzsch
*/
using namespace std;
#include <fstream>
#include <iostream>
#include <map>
@ -14,6 +12,9 @@ using namespace std;
#include "comparison.h"
using namespace std;
/* type for pairs in the distance map of CLINKAGE
* ('Pair' struct in datastructs.h doesnt contain a less operator that's needed for the map) */
typedef pair <uint64_t, uint64_t> StdPairOfRanks;

Просмотреть файл

@ -306,26 +306,26 @@ fi
#
if test $mpi -eq 1 -a $HAVE_MPI -eq 0; then
echo "$EXENAME: Error: This installation of VampirTrace was not compiled \
with MPI support. Aborting."
echo "$EXENAME: Error: This installation of VampirTrace was not compiled" \
"with MPI support. Aborting."
exit 1
fi
if test $mpi -eq 1 -a $fortran -eq 1 -a $HAVE_FMPI -eq 0; then
echo "$EXENAME: Error: This installation of VampirTrace was not compiled \
with MPI Fortran support. Aborting."
echo "$EXENAME: Error: This installation of VampirTrace was not compiled" \
"with MPI Fortran support. Aborting."
exit 1
fi
if test $mt -eq 1 -a $HAVE_THREADS -eq 0; then
echo "$EXENAME: Error: This installation of VampirTrace was not compiled \
with Multithreading support. Aborting."
echo "$EXENAME: Error: This installation of VampirTrace was not compiled" \
"with Multithreading support. Aborting."
exit 1
fi
if test $dyninst -eq 1 -a $HAVE_DYNINST -eq 0; then
echo "$EXENAME: Error: This installation of VampirTrace was not compiled \
with Dyninst support. Aborting."
echo "$EXENAME: Error: This installation of VampirTrace was not compiled" \
"with Dyninst support. Aborting."
exit 1
fi
@ -339,7 +339,13 @@ if test $mpi -eq 1 -a $fortran -eq 1 -a x"$FMPILIB" != x; then
fi
if test $dyninst -eq 1; then
ld_preload="$libdir/$DYNATTLIB:$ld_preload"
if test x"$DYNINSTAPI_RT_LIB" = x; then
echo "$EXENAME: Error: Environment variable DYNINSTAPI_RT_LIB is not" \
"defined. Aborting."
exit 1
fi
ld_preload="$DYNINSTAPI_RT_LIB:$libdir/$DYNATTLIB:$ld_preload"
fi
if test x"$extra_libs" != x; then

Просмотреть файл

@ -860,6 +860,32 @@ parseCommandLine( int argc, char** argv )
delete [] opari_args;
}
// -vt:opari-rcfile
//
else if( arg.compare( "-vt:opari-rcfile" ) == 0 )
{
if( i == args.size() - 1 )
{
std::cerr << ExeName << ": <file> expected -- -vt:opari-rcfile"
<< std::endl;
return false;
}
Config.setOpariRcFile( args[++i] );
}
// -vt:opari-table
//
else if( arg.compare( "-vt:opari-table" ) == 0 )
{
if( i == args.size() - 1 )
{
std::cerr << ExeName << ": <file> expected -- -vt:opari-table"
<< std::endl;
return false;
}
Config.setOpariTabFile( args[++i] );
}
// -vt:noopari
//
else if( arg.compare( "-vt:noopari" ) == 0 )
@ -1030,11 +1056,7 @@ parseCommandLine( int argc, char** argv )
found = arg.find_first_of( special_char, found + 2 );
}
// -vt:help, -vt:version, -vt:show, -vt:showme, vt:showme-compile,
// -vt:showme-link, -vt:seq, -vt:mpi, -vt:mt, -vt:hyb,
// -vt:inst, -vt:opari, -vt:tau, -vt:pdt, -vt:preprocess, -vt:cpp,
// -vt:cppflags
// (processed above; ignore here)
// ignore arguments already processed above
//
if( arg.compare( "-vt:help" ) == 0 ||
arg.compare( "-vt:version" ) == 0 ||
@ -1048,27 +1070,22 @@ parseCommandLine( int argc, char** argv )
arg.compare( "-vt:mpi" ) == 0 ||
arg.compare( "-vt:mt" ) == 0 ||
arg.compare( "-vt:hyb" ) == 0 ||
arg.compare( "-vt:inst" ) == 0 ||
arg.compare( "-vt:opari" ) == 0 ||
arg.compare( "-vt:noopari" ) == 0 ||
arg.compare( "-vt:tau" ) == 0 ||
arg.compare( "-vt:pdt" ) == 0 ||
arg.compare( "-vt:preprocess" ) == 0 ||
arg.compare( "-vt:cpp" ) == 0 ||
arg.compare( "-vt:cppflags" ) == 0 )
arg.compare( "-vt:preprocess" ) == 0 )
{
// do nothing
}
else if( arg.compare("-vt:inst") == 0 ||
arg.compare("-vt:opari") == 0 ||
arg.compare("-vt:opari-rcfile") == 0 ||
arg.compare("-vt:opari-table") == 0 ||
arg.compare("-vt:tau") == 0 ||
arg.compare("-vt:pdt") == 0 ||
arg.compare("-vt:cpp") == 0 ||
arg.compare("-vt:cppflags") == 0 )
{
// skip next argument, if necessary
if( arg.compare("-vt:inst") == 0 ||
arg.compare("-vt:opari") == 0 ||
arg.compare("-vt:tau") == 0 ||
arg.compare("-vt:pdt") == 0 ||
arg.compare("-vt:cpp") == 0 ||
arg.compare("-vt:cppflags") == 0 )
{
i++;
}
i++;
}
// -vt:<cc|CC|c++|cxx|f77|f90> <cmd>
//
@ -1747,6 +1764,14 @@ showUsage()
<< " -vt:opari <[!]args> Set/add options for the OPARI command." << std::endl
<< " (see " << vt_installdirs_get(VT_INSTALLDIR_DATADIR) << "/doc/opari/Readme.html for more information, default: " << Config.opari_args << ")" << std::endl
<< std::endl
<< " -vt:opari-rcfile <file>" << std::endl
<< " Set pathname of the OPARI resource file." << std::endl
<< " (default: " << ConfigS::DEFAULT_OPARI_RCFILE() << ")" << std::endl
<< std::endl
<< " -vt:opari-table <file>" << std::endl
<< " Set pathname of the OPARI runtime table file." << std::endl
<< " (default: " << ConfigS::DEFAULT_OPARI_TABFILE().first << ")" << std::endl
<< std::endl
<< " -vt:noopari Disable instrumentation of OpenMP contructs by OPARI." << std::endl
<< std::endl
<< " -vt:tau <[!]args> Set/add options for the TAU instrumentor command." << std::endl

Просмотреть файл

@ -358,8 +358,11 @@ void vt_iowrap_finalize()
{
if( fd_to_vampirid!=NULL )
free(fd_to_vampirid);
/* don't close the LIBC library handle at this point; it's still needed
if the application is statically linked
if( iolib_handle!=NULL )
dlclose(iolib_handle);
*/
}
/*********************************************/

Просмотреть файл

@ -196,8 +196,11 @@ void vt_libcwrap_init(void)
void vt_libcwrap_finalize(void)
{
/* don't close the LIBC library handle at this point; it's still needed
if the application is statically linked
if( libc_handle )
dlclose( libc_handle );
*/
}