5.14.4 - updated version of internal OTF to 1.12.4salmon (see extlib/otf/ChangeLog) - fixed build issues when using the Oracle compiler with STLport or stdcxx4 C++ library - fixed potential buffer overflow when reading the filter file - enabled recording of LIB-I/O functions when using vtrun, even if no other instrumentation (e.g. Dyninst, manual instrumentation) is enabled - use high precision timer RTC on Cray XT platforms when compiling with the Cray compiler - fixed double dlclose on libc handle when memory and exec tracing are enabled - fixed potential segmentation fault when determining the source code location of Java methods - MPI wrapper generator: removed non-posix call to length(array) - compiler wrappers: - add linker flags (i.e. --[no-]as-needed/--[no-]whole-archive) to enforce linking of libvt* - add path to mpi.h to the PDT parser command and preprocessor flags - use the more safer PDT Fortran parser 'gfparse' instead of 'f95parse' - add path to vt_user.h to preprocessor flags - vtunify-mpi: - fixed assertion error occurred when merging asynchronous plugin counters 5.14.3 - updated version of internal OTF to 1.12.3salmon (see extlib/otf/ChangeLog) - fixed build error when using the Intel MPI compiler wrappers - prepend cross-prefix to the compiler wrappers *only* if '--with-cross-prefix[=PREFIX]' is given - fixed passing FCFLAGS to the Fortran compiler when building libvt-fmpi - fixed build issues due to API changes in MPI-3 - temporary disabled memory allocation tracing for multi-threaded applications (introduced in v5.14.1) due to broken counter values when memory is freed in a different thread than where it was allocated - fixed a potential minor bug in CUPTI activity stream handling - workaround for CUDA 5.0 bug: do not call cuDeviceSynchronize(), if stream reuse is enabled and a CUDA stream is about to be destroyed - enabled access to CUPTI counters for CUDA tracing via CUPTI - enabled GPU memory usage tracing independent of the CUDA API - enabled recording of CUDA synchronization and implicit synchronization in blocking CUDA memory copies for CUDA tracing via CUPTI - enabled recording of synchronous peer-to-peer CUDA memory copies for CUDA tracing via CUPTI - consider CUDA data transfers as not idle for option 'pure_idle' - fixed identification of the CUDA device ID for CUDA tracing via CUPTI - fixed region filtering for applications using the CUDA runtime API wrapper - fixed segmentation fault when writing intermediate statistics (VT_STAT_INTV != 0) - vtdyn: do not instrument regions where using a trap is required - plugin counters: Merge a set of post-mortem counters and write them under a single async key. This speeds up the unification. - vtsetup: fixed availability state of the exec tracing feature 5.14.2 - fixed build error occurred if VT is configured with exec tracing enabled, but with memory allocation tracing disabled - fixed infinite recursion in the realloc wrapper initiated by dlerror - fixed assertion error occurred when MPI_Initialized is the very first event to be recorded - fixed potential stack underflow when tracing only MPI events of a multithreaded program 5.14.1 - updated version of internal OTF to 1.12.2salmon (see extlib/otf/ChangeLog) - added support for recording concurrent CUDA kernels with CUPTI (CUDA 5.0) - append "/vampirtrace" to DATADIR, if configuring inside Open MPI and DATADIR doesn't points to the default (=DATAROOTDIR) (prevents conflicts with the libtool RPM) - fixed build issues when using the IBM XL compiler on AIX - fixed build issues with Dyninst 8 - revised memory allocation tracing: - intercept memory (de)allocation functions by library wrapping (replaces deprecated hook technique from the GNU C library) - added support for multi-threaded applications - changed default function group name for - memory (de)allocation functions : "MEM" -> "LIBC-MALLOC" - I/O functions : "I/O" -> "LIBC-I/O" - child process execution (e.g. execl): "LIBC" -> "LIBC-EXEC" - compiler wrappers: - removed invocation of pdbcomment; it removes essential information from the PDB file for instrumenting functions 5.14 - updated version of internal OTF to 1.12.1salmon (see extlib/otf/ChangeLog) - added support for filtering functions of specific call paths - introduced new environment variable VT_MPI_IGNORE_FILTER to enable/disable recording of MPI communication events although its corresponding functions are filtered - fixed undefined reference error for vt_get_mpi_f_in_place___ when linking the Fortran MPI wrapper library (libvt-fmpi) built for SGI-MPT (--with-sgimpt) - compiler wrappers: - added option '-vt:inst-exclude-file[-list]' to exclude source files from the automatic instrumentation by the compiler or PDT/TAU - added option '-vt:opari-exclude-file[-list]' to exclude source files from the instrumentation of OpenMP constructs by OPARI - consider preprocessed files (-vt:preprocess) for reuse (-vt:reusefiles) - do additionally scan for comments (pdbcomment) if performing PDT/TAU instrumentation to prevent instrumenting functions within comments - OPARI: (see tools/opari/ChangeLog:26,27) 5.13.2 - added support for IBM BlueGene/Q - added support for PAPI 5 (aka PAPI-V) - fixed CUDA runtime API wrapper for CUDA 5 - fixed "Cannot find communicator" error occurred when completing a non-blocking MPI communication using an already freed communicator (e.g. MPI_Irecv(...,comm,...), MPI_Comm_free(comm), MPI_Wait()) - fixed 'gnu' compiler instrumentation for functions defined within shared objects - vtunify: - disable OpenMP parallelization if PGI compiler version < 9 is used (threadprivate not supported) - OPARI: (see tools/opari/ChangeLog:24,25) 5.13.1 - updated version of internal OTF to 1.11.2goldfish (see extlib/otf/ChangeLog) - use high precision timer RTC on Cray XE/XK6 platforms using the Cray compiler - fixed parsing symbol list file given by VT_GNU_NMFILE if it is generated by nm with multiple input files - compiler wrappers: - added detection of Cray compiler's OpenMP flag (-h omp) to enable OPARI instrumentation - add OPARI option '-nosrc' when using the Cray compiler (at least the Fortran compiler does not understand #line constructs) - vtnvcc: - add path to cuda.h to the PDT parser command - exclude *.cu source files from instrumenting with PDT/TAU; the PDT parser is not (yet) able to handle CUDA statements and kernels - vtunify[-mpi]: - fixed timestamp boundary check for merging asynchronous plugin counters - enhanced precision of timestamp conversion from local to global 5.13 - updated version of internal OTF to 1.11.1goldfish (see extlib/otf/ChangeLog) - added support for highly parallel trace writing using the I/O Forwarding Scalability Layer (IOFSL) with atomic append aggregation - added support for generating snapshots which allows Vampir to load subsets of the resulting trace - introduced new vtfort compiler wrapper for compiling *any* Fortran code (Fortran 77, 90, 2003, etc.) (vtf77 and vtf90 still exist, but they are symlinks to vtfort) - added support for automatic instrumentation with Cray CCE compiler - improved compiler instrumentation support for IBM XLC/XLF compilers version 11/13 - introduced environment variable VT_GPUTRACE, which replaces several CUDA tracing environment variables - added option to enable CUDA stream reuse - expose flush of CUPTI activities as measurement overhead - added CUDA runtime API functions to CUDA runtime API wrapper, which are new in CUDA 4.2 and 5.0.7 (preview release) - extended function filter capabilities by - recursive filtering (disables recording callees of filtered function) - function group filtering - stack level filtering - vtdyn: - added support for instrumenting loops - try to get the full prototype of functions to be instrumented - print verbose messages to stderr if started by the Dyninst attach library (libvt-dynatt) - vtunify[-mpi]: - removed strict order of command line parameters - print verbose messages to stderr if started automatically - added compatibility check for input trace file generated by a different VampirTrace version - drop/adapt records which have references to processes disabled by the process filter - count message matching irregularities (i.e. number of unmatched and reversed messages) - fixed a Heisenbug in conversion of local to global timestamps (occurred when using the Intel compiler with O2 or higher optimization) - compiler wrappers: - added option '-vt:reusefiles' to reuse kept intermediate files generated by a previous run of OPARI and/or PDT/TAU - added option '-vt:keepfiles' as synonym for '-vt:nocleanup' - fixed preprocessing of OpenMP source files - vtnvcc: fixed forwarding of compiler/linker options - fixed handling of 'errno' in LIBC[-I/O] wrappers on AIX - fixed handling of MPI_Aint in MPI-2 Fortran wrappers (MPI_Aint=INTEGER(KIND=MPI_ADDRESS_KIND)) - do not abort if the application requests the MPI thread support level MPI_THREAD_SERIALIZED or MPI_THREAD_MULTIPLE (disable recording of MPI communication events instead) - fixed GPU compute idle time measurement with CUPTI activity tracing - fixed installation issue when prefix is set to the source directory (e.g. ./configure --prefix=$PWD) - fixed handling of unidirectional collective operations (e.g. broad- cast, gather, scatter) using intercommunicators - fixed hanging mutatee when using binary instrumentation from an Intel-built VampirTrace installation - OPARI: (see tools/opari/ChangeLog:23) 5.12.2 - updated version of internal OTF to 1.10.2coelacanth (see extlib/otf/ChangeLog) - added support for CUDA tracing via CUPTI callbacks and activities (runtime and driver API, kernels, memory copies and GPU memory usage) - added support for cudaMemcpyDefault and synchronous peer-to-peer memory copies in CUDA library wrapper - added configure switches to enable/disable CUPTI and CUDA wrapping - fixed a bug in CUDA runtime wrapper initialization and thread creation - fixed a build bug occurred if CUDA and CUPTI found, but support for library tracing was disabled - fixed platform detection on BlueGene when configuring for the frontend - fixed detection of Cray compiler's OpenMP flag in configure - fixed detection of C++ runtime libraries for Cray and PGI 11.x compilers - fixed detection of MPI_IN_PLACE in configure - do not use RTLD_DEFAULT handle for dlsym() on CrayX? platforms; it's provided by dlfcn.h but not working (segmentation fault) - fixed conversion from MPI_Fint-arrays to MPI_Aint-arrays in Fortran MPI wrappers - temporary removed MPI___attr and MPI_Attr_ from the Fortran MPI wrappers due to missing conversion of the attribute value parameter - fixed handling of empty MPI groups (MPI_GROUP_EMPTY) - fixed handling of MPI groups implicitly generated by MPI_Win_create - fixed order of OpenMP threads based on its id (omp_get_thread_num) - fixed parsing of filter file to consider non-rank-specific filter rules appearing after a rank selection for disabling - fixed handling of 'errno' in LIBC[-I/O] wrappers for statically linked applications - fixed parsing of PAPI native events in VT_METRICS - vtunify[-mpi]: - fixed possibly uninitialized global token for the predefined Node and "All" process groups - fixed potential memory corruption during enqueuing recv. messages for p2p message matching - vtunify-mpi: - fixed assertion in p2p message matching which occurred when processing local traces with disabled ranks - vtdyn: - load user-specified shared libraries (-s SHLIB) into the mutatee before starting the instrumentation; adds support for instrumenting shared libraries which are loaded during runtime - compiler wrappers: - fixed detection of MPI library linked in the path form (e.g. libmpi.a instead of -lmpi) - fixed corrupt library order when using vtnvcc for linking MPI/CUDA mixed programs - OPARI: (see tools/opari/ChangeLog:22) 5.12.1 - updated version of internal OTF to 1.10.1coelacanth (see extlib/otf/ChangeLog) - fixed detection of Open64 compilers for automatic instrumentation - fixed build issues on MacOS using GCC v4.2 - fixed non-increasing timestamps when flushing the trace buffer - fixed a bug in the MPI wrapper functions MPI_Gatherv and MPI_Scatterv which occurred due to illegal access to insignificant parameters on non-root ranks - vtunify-mpi: - added option '--stats' to unify only summarized information, no events - reduced memory usage - OPARI: (see tools/opari/ChangeLog:20,21) 5.12 - updated version of internal OTF to 1.10coelacanth (see extlib/otf/ChangeLog) - added support for CUDA runtime tracing via CUPTI callbacks - added support for process group counters - extended internal API to: - create process groups - assign attributes to process groups (e.g. is communicator, has counters) - improved MPI group/communicator handling: - 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 - added configure option '--[enable|disable]-fortran' to control 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 application) - fixed selection of functions to be instrumented - save floating point registers before calling instrumentation to ensure correct program behavior - 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.2 - updated version of internal OTF to 1.9.2sawfish (see extlib/otf/ChangeLog) - added options '-vt:showme-' to the compiler wrapper to show the compiler/linker flags that would be supplied to the underlying compiler - add path to MPI library when linking with the compiler wrappers - do not build vtrun script on BlueGene; shell scripts doesn't work on the back-end - fixed segmentation fault in vtunify-mpi which might occur during gathering local marker definitions/spots to master process 5.11.1 - updated version of internal OTF to 1.9.1sawfish (see extlib/otf/ChangeLog) - process and thread buffer size can be explicitly specified by the user via the environment variables VT_BUFFER_SIZE and VT_THREAD_BUFFER_SIZE - improved filtering of CUDA kernels - enhanced creating global definitions in vtunify - fixed CUDA kernel launch configuration - fixed unification of local process group definitions - fixed wrapper generation for MPI implementations which don't support the MPI-2 standard - fixed faulty cleanup of temporary files in vtunify which occurred if VT is configured without trace compression support - fixed detection of OpenMP flag '-qsmp=*:omp:*' in the compiler wrappers - fixed C++ linker issue for manual instrumentation of multiple files - bugfix to OPARI (see tools/opari/ChangeLog:19) 5.11 - updated version of internal OTF to 1.9sawfish (see extlib/otf/ChangeLog) - added support for Cray XE6 - added tool 'vtsetup' which provides a GUI to prepare measurement runs with VampirTrace - added application execution wrapper script 'vtrun' which performs MPI and/or binary instrumentation at runtime - extended Dyninst mutator tool 'vtdyn' to rewrite instrumented application executables - replaced basic blacklist functionality of vtdyn by the VT runtime filter - extended trace unification to match p2p message event records - enhanced unification of local traces from very large runs in respect of parallelism and memory usage - extended user API to perform user defined communication - extended user API for regions to support dynamically generated region names - added support for asynchronous plugin counters - added support for CUDA 4.0 - removed support for CUDA 2.x - added CUDA performance counter support via CUPTI event API - added option '-vt:noopari' to compiler wrapper commands to disable instrumentation of OpenMP constructs by OPARI - added configure option '--with-wrapper--default-partype=TYPE' to set default application parallelization type for compiler wrappers - fixed thread-safety issue in Fortran bindings of user API - fixed handling NULL value of pathname given to certain I/O calls (e.g. fopen, open, unlink) - fixed base of cycle counter timer on PPC with MacOS - fixed default grouping of user functions whose name appears in predefined groups (e.g. VT-API) - fixed error when using the compiler wrappers with PDT/TAU + manual instrumentation - bugfix to OPARI (see tools/opari/ChangeLog:18) 5.10.1 - updated version of internal OTF to 1.8.1sturgeon (see extlib/otf/ChangeLog) - added configure option '--able-mpiunify-lib' to control building of the MPI trace unification library (libvt-mpi-unify) - added GPU memory tracing for CUDA runtime API - fixed configure tests for conversion of Fortran MPI handles - fixed collecting symbol information of shared libraries which are instrumented by the GNU, Intel, PathScale, or PGI 9 compiler - fixed an error in memory management of CUDA devices - fixed CUDA device management (CUDA runtime) - fixed finalize problem in CUDA runtime wrapper, which in cases produced an unspecific driver error - added an additional check to avoid a possible deadlock in vt_open(), which might occur, if something during opening invokes vt_open() - fixed not-increasing timestamps error which occurred if an interval for writing statistics (env. VT_STAT_INTV) is set - fixed wrong UNIMCI language bindings for Fortran applications (enforces building of the Fortran MPI wrapper library 'libvt-fmpi') - fixed handling of command line options in vtjava 5.10 - updated version of internal OTF to 1.8sturgeon (see extlib/otf/ChangeLog) - added support for automatic source code instrumentation by PDT/TAU - added MPI-parallel version of vtfilter (vtfilter-mpi) with support for rank specific filtering - enhanced termination of MPI-parallel trace unifier in case of an error - changed byte counts of collective communication records (see FAQ entry D.8 in the user manual) - added changes of CUDA 3.2 runtime API - extended vtjava to set the trace file prefix to the jar/class file - fixed compile error on Red Hat 5.x which occurred if using GNU compiler with -D_FORTIFY_SOURCE=2 - fixed faulty library dependencies to MPI which caused in a segmentation fault on AIX (on AIX libvt-fmpi needs additional dependencies to the Fortran runtime libraries; for now building of shared libraries is disabled) - fixed a potential segmentation fault in CUDA runtime API tracing (for disabled CUDA kernel tracing and CUDA synchronization level 3) - usage of CUDA and PAPI does not result in an error any more - fixed measurement of GPU idle time - corrected number of used CUDA events for disabled kernel tracing - fixed corrupt call stack after an intermediate buffer flush if VT_MAX_FLUSHES is set to 0(=unlimited) - fixed detection of executable's pathname on UnionFS - fixed detection of OpenMP flags in the compiler wrappers - fixed memory source/destination overlap in a MPI_Gatherv call which caused MPICH2 to abort - fixed potential segmentation fault during collecting symbol information for instrumentation with the GNU, Intel, PathScale, and PGI 9 compiler - fixed segmentation fault which occurred if using PAPI 4 together with libc I/O tracing - fixed pathname of the JVMTI agent library in vtjava - fixed assertion in vtunify which occurred if enhanced time sync. is enabled - fixed segmentation fault in vtunify-mpi which occurred if using more MPI tasks than necessary 5.9 - updated version of internal OTF to 1.7.1catfish (see extlib/otf/ChangeLog) - added support for tracing NVIDIA CUDA runtime API - improved automatic trace unification for MPI applications: use application allocated MPI processes for unification - extended user API: added "buffer rewind" as an alternative to "on/off" - extended the MPI-rank specific filtering to disable ranks completely - added environment variable VT_OMPTRACE to enable/disable tracing of OpenMP events instrumented by OPARI - added writing of collective begin/end records for MPI Collective operations - reduced amount of resulting files: - write only one unify control file (*.uctl) for the whole trace - do not write *.filt files anymore - added environment variables VT_MAX_MPI_COMMS and VT_MAX_MPI_WINS for adjusting internal default limits of used MPI communicators/windows - corrected finalize behavior for C++ applications with static objects (e.g. MPI_Finalize in the destructor of a singleton) - fixed potential buffer overflow on determining pathname of the application executable - fixed loading of dynamic libraries on AIX - fixed bugs in the compiler wrappers: - don't try to rename the compiler output of an OPARI modified source file if it's specified by the compiler flag '-o' - changed order of linking libraries to record also MPI function calls which come from user libraries - corrected parsing of separated arguments of the compiler options -I, -L, and -l (e.g. -I ) - fixed bug in vtunify: do only write active stream/process ids to the OTF master control file (*.otf) - if configuring inside Open MPI, install header files into /vampirtrace even the configure option '--includedir' is specified 5.8.2 - fixed buffer overflow which occurred if marker or event comment records generated - fixed bug in MPI-I/O tracing: tracking MPI file handles even if MPI_File_open isn't recorded 5.8.1 - updated version of internal OTF to 1.6.5stingray (see extlib/otf/ChangeLog) - added support for tracing functions in shared libraries instrumented by the GNU, Intel, PathScale, or PGI 9 compiler - extended support for BlueGene/P in terms of tracing libraries (e.g. libc I/O) and tracing of multi-threaded applications - added default option file for CrayXT platforms - added support for PAPI-C counters which belong to different components - added environment variable VT_METRICS_SEP to specify a string which separate the counter names in VT_METRICS - extended usability of environment variable VT_METRICS for PAPI counters to specifiy whether a counter provides increasing or absolute values - added support for "re-locate" an existing VampirTrace installation without re-build it from source - fixed configure's version detection for PAPI to support version 4.x - added configure tests for a few pthread functions which do not exist on some platforms - added configure tests to detect Bull MPICH2 - use Open MPI provided Fortran wrapper library 'libmpi_f77' - added functions 'MPI_Group_range_' to Fortran MPI wrappers - use more portable 'nm' command instead of the BFD library to collect symbol information for instrumentation with the GNU, Intel, PathScale, and PGI 9 compiler - do not shutdown call stack if maximum number of buffer flushes was reached, because the additional leaves suggest a wrong application flow - fixed potential stack underflow in vtfilter which might be cause a segmentation fault - fixed detection of unique node id on MacOS platforms - fixed support for LAM/MPI - fixed potential segmentation fault in vtunify-mpi which might occur on 32bit platforms - patched libtool to avoid a bug in detection of the PGI 10 compilers 5.8 - 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. - extended the region filter mechanism to allow MPI-rank specific 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 (e.g. gnu,pgi,xl) are summarized by "compinst") - added wrapper script 'vtjava' which invoke the usual Java application launcher with the necessary options for tracing - enhanced creating global definitions in vtunify - create a process group with the real node name on CrayXT platforms - fixed a bug which caused incomplete traces if using automatic instr. for MPI/C++ applications on CrayXT platforms - fixed erroneous error messaging in libc tracing - fixed wrong order of attributes in 'vt_def_region' - fixed erroneous reading of input filter file in vtfilter 5.7 - updated version of internal OTF to 1.6.1stingray (see extlib/otf/ChangeLog) - added support for MPI correctness checking by Universal MPI Correctness Interface (UniMCI) - added support for automatic instrumentation by using OpenUH compiler (version 4.0 or higher required) - added support for Java tracing using JVMTI - added support for CPU ID tracing (requires GLIBC >= 2.6) - added support for MPI-2 one-sided communication - full support for MPI-2 I/O (using I/O begin/end records) - improved tracing of nested POSIX/OpenMP threads: record parent thread identifier of each child thread so that the parent-child relationship will be evident - improved tracing of POSIX threads: reuse thread identifiers of terminated threads - improved memory allocation tracing: write marker for each alloc/free event which show the allocated/freed bytes - added environment variable VT_MAX_STACK_DEPTH which can be used to specify the maximum depth of call stack to record - extended user API for intermediate time synchronization and buffer flushes and for updating all counters which specified by the environment variables VT_METRICS and VT_RUSAGE - added support email address to assert strings and #error directives - added writing of I/O begin/end records for LIBC's I/O tracing - added support for tracing file locking via 'flockfile()', 'lockf()' and 'fcntl()' - use handle from dlopen() for dlsym() calls instead of RTLD_NEXT => LIBC (+I/O) tracing works with statically linked programs now - added support for cycle counter timer on Alpha and Sparc platforms - added platform configurartion files that provide several default options - added configure check for function '__getReg' which required to use the ITC timer on IA64/Linux - added configure check for PAPI's special type 'long_long' (will be defined, if the header file 'papi.h' doesn't provide this) - install header files to 'PREFIX/include/vampirtrace' by default to avoid conflicts with the OpenMPI integrated version of VT - do not install 'vtCC' and the corresponding config file, if the file system is case insensitive (e.g. HFS+ on MacOS X) - added configure option '--with[out]-bfd' to control usage of BFD library to get symbol information for GNU, Intel, and PathScale compiler instrumentation - preselect availability of MPI type converter functions (e.g. MPI_Comm_f2c), if '--with-openmpi' was given (further preselections for other MPI implementations will follow) - fixed detection of Sun Studio compiler for automatic instrumentation - fixed a bug in GNU demangling of C++ names - fixed wrong output of dlsym errors in I/O tracing - fixed faulty searching for matching filter directive - fixed assertion which might be occurred during tracing applications using pthreads and recording PAPI counters - fixed not-increasing counter values for tracing threaded applications - fixed a bug in Fortran MPI wrappers: added conversion for MPI_BOTTOM and MPI_IN_PLACE - fixed Fortran User API for markers - fixed a bug in vtfilter: strip the '.otf'-suffix from input/output trace file names, if necessary - fixed a bug in the Fortran compiler wrappers: don't remove generated OPARI header files (*.opari.inc) before compiling the table source - file (opari.tab.c) - enhancement to OPARI (see tools/opari/ChangeLog:16,17) - use handle from dlopen() for dlsym() calls instead of RTLD_NEXT - fixed segmentation fault when encountering invalid file descriptors - use hard limit for maximum number of fds 5.6.3 - updated version of internal OTF to 1.5.2dolphin (see extlib/otf/ChangeLog) - added environment variables VT_PFORM_LDIR_CHECK and VT_PFORM_GDIR_CHECK to enable/disable checking for write access to the local/global trace directories - added configure variable 'NM' for the command to list symbols from object files - added configure options '--with-mvapich[2]' to set the MPI-libs for MVAPICH[2] - added configure check for header file 'asm/intrinsics.h' and definition of '_IA64_REG_AR_ITC' which required to use the ITC timer on IA64/Linux - added support for demangling of C++ names also if the header file 'demangle.h' is not available - do not build shared libraries on IBM BlueGene - replaced usage of PATH_MAX by VT_PATH_MAX to avoid compile errors on some platforms - fixed compile error which occurred if support for enhanced time synchronization enabled and using the Sun Performance Library from Sun Studio 12 - fixed compile error on RedHat/CentOS due to missing header include of 'cctype.h' in the sources of 'vtunify' - fixed a bug in the compiler wrappers: add compiler flag '-I.' for compiling OPARI modified sources in subdirectories in order to find the corresponding OPARI include files - fixed a bug in the compiler wrappers for Fortran: do not mix C flags (especially the pthread flag '-D_THREAD_SAFE' for IBM compilers) with Fortran compiler flags - fixed faulty timer selection in configure (the cycle counter timer is not available on all Linux platforms) - fixed detection of Sun Studio compilers on Linux (related to the automatic instrumentation) - patch libtool to avoid a bug in detection of the Sun Studio Fortran compiler - fixed missing definition of vt_node_id in vt_pform_sun - added wrapper for 'pthread_exit' for correct decomposition of the call stack - fixed I/O calls not being affected by region filters - disabled recording of I/O events from within filtered out functions - disabled recording of MPI messages from within filtered out functions - check return value of MPI_Get_count in status handling 5.6.2 - replaced all dots in library names by dashs in order to avoid a naming problem in libtool and for more consistent - added dependencies to all necessary libraries (e.g. PAPI, BFD, etc.) to the shared VT libraries - changed default of VT_PFORM_LDIR to '.' on SiCortex platforms - fixed use of gethostid() that may fail without error -> check return value and retry - use 1 MB buffer for copying traces from local to global destination, may be tuned by VT_COPY_BUFFER_SIZE 5.6.1 - updated version of internal OTF to 1.5.1dolphin (see extlib/otf/ChangeLog) - added support for building shared libraries - fixed compile error which occurred if configure was unable to find MPI2 I/O support - fixed compile error due to missing header include in the sources of the compiler wrappers - fixed faulty calculation of unique node id on SUN Solaris platforms - fixed compiler flags for building OPARI's table object file - fixed a bug which could prevent LIBC's I/O tracing 5.6 - updated version of internal OTF to 1.5 (see extlib/otf/ChangeLog) - enhanced time synchronization - added support for MPI-2 extended collective operations - added support for recording statistics of MPI collective operations - added support for hardware performance counters on NEC SX platforms - added support for POSIX threads - extended user API to record user-defined markers - added wrapper for MPI function 'MPI_Init_thread' - fixed faulty calculation of sent/received bytes for MPI_Bcast 5.5.4 - added support for OpenMP on BlueGene/P - fixed invalid conversion from 'const char*' to 'char*' in macro 'VT_TRACER' 5.5.3 - updated version of internal OTF to 1.4.1 (see extlib/otf/ChangeLog) - added support for NEC MPI/SX Fortran 8-Byte Integers - added support for IBM BlueGene/P - added configure options '--with-sunmpi[-mt]' to set MPI libs for SUN MPI - bugfix: added configure check for I/O functions functions 'fseeko()' (this function is not available on NEC SX platforms) - fixed faulty shell comparison in configure which may cause an infinite loop - fixed compile error: removed faulty header include for builds without MPI support - fixed stack corios during intercepting I/O function 'unlink()' - fixed stack-level mismatch in regions with tracing disabled (VT_OFF) in combination with MPI collective operations - fixed faulty handling of MPI_F_STATUS[ES]_IGNORE in MPI wrapper functions 5.5.2 - added wrapper for LIBC's I/O function 'unlink()' - fixed a bug in handling of OpenMP critical sections - fixed a bug in Fortran MPI wrappers: added conversion of MPI_Aint 5.5.1 - added wrapper functions for 'wait()' and 'waitpid()' - improved tracing of 'fork()': automatic unifying of local traces - added support for Cray CNL - added option '-p' for vtunify to show a progress display during unifying events - added configure options to specify the installed MPI-implementation (e.g. the option '--with-mpich2' sets the MPI-libs for MPICH2) - fixed not-increasing timestamps during buffer flush (occurred if memory allocation tracing was enabled) - fixed missing variable-declarations in Fortran MPI wrappers - fixed a bug in unique trace file naming which occurred when 'fork()' used (child process gots a wrong unique file number) - fixed a bug in vtfilter where the tool dies when a counter appears outside of function - enhancement to OPARI (see tools/opari/ChangeLog:15) 5.5 - updated version of internal OTF to 1.4 (see extlib/otf/ChangeLog) - added support for automatic instrumentation by using PathScale compiler (version 3.1 or higher required) - added support for recording function and message statistics - extended user API for enable/disable tracing - added wrapper functions for the complete MPI-1.2 standard, MPI-2 One-Sided Communications, and MPI-2 I/O - added support for tracing resource usage via 'getrusage()' - added support for tracing 'fork()', 'system()', and 'exec' functions - added support for unique trace file naming - added determining of executable's path, if VT_APPPATH not given (currently that works *only* for linux, altix, macos, ibm, and sun) - set default trace file prefix to name of executable (from VT_APPPATH) - added support for CPC hardware performance counter - enhanced movement of the local temporary traces (VT_PFORM_LDIR) to the global directory (VT_PFORM_GDIR), if both directories are on the same device - added configure option (--with-cross-prefix) to set a prefix for the "cross"-executables of the compiler wrappers (e.g. cross-vtcc) - added configure options (--with-wrapper-) to set the default underlying compiler of the compiler wrappers - enhancement to OPARI (see tools/opari/ChangeLog:14) 5.4.5 - updated version of internal OTF to 1.3.10 (see extlib/otf/ChangeLog) - fixed a bug for LIBC's I/O tracing: argument of 'fileno()' must be a valid file stream - added configure option '--[enable|disable]-binaries' to control building of binaries (useful for multi-lib installations) 5.4.4 - updated version of internal OTF to 1.3.9 (see extlib/otf/ChangeLog) - fixed a portability bug: use own implementation of function 'strdup()' - removed variadic macros (they were introduced in C99) - fixed potential race condition by using OpenMP + LIBC's I/O tracing - fixed potential missing definition records by using OpenMP and the maximum number of buffer flushes was reached - fixed a bug in the compiler wrappers: added check for SUN's OpenMP compiler flag (-xopenmp) - fixed a bug for determining the timer-resolution for ITC - added process group definition for MPI communicator MPI_COMM_SELF - cleanup call stack when maximum number of flushes was reached - added configure check if we can link '-lz' in order to pass either '-lotf -lz' or just '-lotf' as OTF link option - renamed configure's option '--with[out]-mpi-io' to '[enable/disable]-mpi-io' for more consistent 5.4.3 - bugfix for Fortran compiler wrappers (vtf77, vtf90): OPARI's table source file (opari.tab.c) will be compiled with the C compiler and flags which were given for VT's configure (CC/CFLAGS) (changeable in vt*-wrapper-data.txt) - bugfixes in vtunify: - keep user's created process groups for MPI communicators - reserve sorting of global process group definitions 5.4.2 - bugfix for VPATH builds - added configure check for PAPI version (only support for version 3.x) 5.4.1 - bugfix: added check for I/O functions which are a part of the large file extensions (e.g. open64, creat64, ...); disable corresponding wrapper functions, if system doesn't support these - added environment variable VT_DEMANGLE to enable/disable GNU demangling of C++ names (default: disabled, due to a bug in older versions of the GNU library 'liberty') - disabled support for I/O tracing on MacOS 5.4.0 - updated version of internal OTF to 1.3.8 (see extlib/otf/ChangeLog) - added support for user-defined counters - if available, PAPI cycle counter can be used as timer (see config.h after configure) - recording of events will be stopped if the maximum number of buffer flushes (env. VT_MAX_FLUSHES) was reached - added support for LIBC's I/O tracing - improved autoconf's m4 scripts for cross buildings - default settings for the compiler wrappers will be stored in share/vampirtrace/vt*-wrapper-data.txt - vtfilter: - direct filtering without second trace run - parallelization using OpenMP 5.3.2 - updated version of internal OTF to 1.3.7 (see extlib/otf/ChangeLog) - improved autoconf's m4 scripts for cross buildings - added support for VPATH builds 5.3.1 - set default trace call limit for all regions/functions to 100000 5.3.0 - updated version of internal OTF to 1.3.4 (see extlib/otf/ChangeLog) - added support for automatic instrumentation by using Intel compiler version 10.x (uses new compiler flag '-finstrument-functions') - added support for binary instrumentation by using Dyninst - added support for GLIBC's memory allocation tracing (see doc/UserManual*) - bugfix: corrected process id for OpenMP collective operations - changed default function/region group from 'USR' to 'Application' - if only MPI-functions are instrumented, then entry-record of function 'user' will be generated before MPI_Init - added trace filter generator tool 'vtfilter' (see doc/USAGE.vtfilter) - added support for multiple compiler-instrumentations from one installation of VampirTrace (see INSTALL) - replaced vtinst, vtinst-pomp, and vtinst-dyn by VT's compiler wrapper (see doc/UserManual* and doc/USAGE.compinst) - added simple example applications - changed install directory of documentations from '$prefix/info' to '$prefix/share/vampirtrace/doc' - changed install directory of metrics-, filter-, and grouping configuration from '$prefix/doc' to '$prefix/share/vampirtrace' 5.2.5 - fixed potentially race condition by tracing OpenMP apps. - fixed some little memory leaks - fixed native counter issue on IA64 systems - added configure check for header files 'stdint.h' and 'inttypes.h'; if none of these files found, then own integer types will be defined 5.2.4 - updated version of internal OTF to 1.2.19 (see extlib/otf/ChangeLog) - fixed compile error which occurred by using old SUN compilers - added a configure summary - added HP MPI support - renamed Fortran MPI wrapper library to 'libvt.fmpi' to avoid possible name conflicts - fixed a bug (integer overflow) in mechanism for getting timer on Linux systems 5.2.3 - changed install directory of documentations from 'doc' to 'info' (adjustable by configure option '--infodir') - forward configure options '--exec-prefix', '--bindir', '--libdir', ', '--includedir', and '--infodir' to configure command of internal OTF - added configure check for CPP-Style Fortran preprocessor of gfortran - added configure check for location of 'mmtimer.h' - made sure that peers of events (e.g. msg. send enter + msg. send) have the same timestamp - clock synchronization can be forced (see config.h after configure) 5.2.2 - fixed a bug in region filter which occurred by tracing OpenMP apps. instrumented by compiler (vtinst) - added option '-k' for vtunify to keep input trace files 5.2.1 - fixed several performance issues - improved mechanism for getting clock cycles on IBM PPC64 machines - the user can specify the mechanism which used for getting timer (only for Linux, SGI Altix, IBM AIX, Cray X1 - see config.h after configure) 5.2.0 - updated version of internal OTF to 1.2.18 (see extlib/otf/ChangeLog) - replaced build system by GNU Autoconf/Automake - changed base name (e.g. environment variables, source files) to VT... (see doc/USAGE) - added OpenMP support by using OPARI instrumentation tool - write process group records which contain the location of processes (node name) - added tool 'vtconfig' to simplify determining the right compiler and linker flags 5.1.7 - updated version of internal OTF to 1.2.13 5.1.6 - updated version of internal OTF to 1.2.11 - fixed a bug: record the REAL buffer-length of a MPI non-blocking receive operation - added wrapper for MPI function 'MPI_Probe' - added Open MPI support - added a simple "configure" command (see INSTALL) 5.1.5 - fixed a bug in elg_otfunify time synchronization 5.1.4 - updated version of internal OTF to 1.1.9 - fixed a bug in elg_otfunify which occurred if compiled with PGI and used OMP parallelization - enhanced progress display of elg_otfunify 5.1.3 - fixed little bugs in build system which occurred if multiple mode building used (Makefile.32-64) - added support for clusters of IBM Power3/4 machines and Linux PPC cluster with IBM compilers 5.1.2 - updated version of internal OTF to 1.1.8 5.1.1 - write list of filtered regions to file (*.x.filt) - specified flags of 'ar' in Makefile.defs (AFLAG) will be assign to internal OTF configure script 5.1.0 - counter event record will be wrote before leave event record - added region filter and grouping managment 5.0.6 - added creator informations of trace file (tracelib, version, date and time) - reduced offset of process group token - improved name of process groups 5.0.5 - fixed a bug in elg_otfunify which occurred if the environment variable ELG_PFORM_DIR was set 5.0.4 - fixed a bug which occurred on Opteron systems (faulty timestamps) - made sure that the ids of process groups and processes are different (for analyzing trace files) 5.0.3 - updated version of internal OTF to 1.1.5 - fixed a bug in GNU compiler interface which might have caused a segmentation fault during flushing the trace buffer 5.0.2 - updated version of internal OTF to 1.1.4 5.0.1 - updated version of internal OTF to 1.1.3 5.0.0 - initial version