- configure:
- changed default CUPTI library path to $CUPTI-DIR/lib64
- VT Libs:
- corrected prototype of MPI_Get_address in Fortran MPI wrappers (the second parameter should be an MPI_Aint* instead of MPI_Fint*)
- temporary removed MPI_<Comm|Type|Win>_<get|set>_attr and MPI_Attr_<get|put> from the Fortran MPI wrappers due to missing conversion of the attribute value parameter
- Docu:
- latex doc \usepackage[T1]{fontenc} so that _ can be searched and copied
- smaller font in Environment Variables section
- some improvements in CUDA section
- removed GPU idle time as official feature for CUPTI tracing method
This commit was SVN r26161.
- general:
- added missing entry in ChangeLog
- vtunify[-mpi]:
- fixed possibly uninitialized global token for the predefined Node and "All" process groups
This commit was SVN r26147.
- general:
- corrected OTF version number
- otfprofile:
- removed leading '=' from CSV lines to make it loadable into spreadsheets (e.g. Open Office)
- fixed process naming in CSV output of collective operation statistics
Changes to VT:
- configure:
- added *_FOR_BUILD variables to CrayXE's default configure options; required for cross-building
- VT libs:
- fixed GPU communication, due to new process ID splitting
- fixed parsing of PAPI native events in VT_METRICS; use strtok_r instead of strtok which is successively called inPAPI_event_name_to_code
- added VT_METRICS_SEP to definition comments (-> Vampir's trace info)
- Docu:
- fixed link to TAU Reference Guide
This commit was SVN r26137.
Changes to OTF:
- general:
- updated copyright information (2011->2012)
- otfmerge-mpi:
- use the MPI-2 versions of MPI_Address and MPI_Type_struct
- otfdump:
- don't abort when reading events fails - the input tracefile might only have statistics
Changes to VT:
- general:
- updated version number to 5.12.2openmpi
- updated copyright information (2011->2012)
- configure:
- added configure switches to enable/disable CUPTI and CUDA wrapping
- fixed detection of C++ runtime libraries for Cray and PGI v11.x compilers
- fixed detection of Cray compiler's OpenMP flag
- fixed detection of MPI_IN_PLACE
- disable support for RTLD_DEFAULT on CrayX? platforms; it's provided by dlfcn.h but not working
- added '-force_flat_namespace' to linker flags of compiler wrappers on MacOS (causes that OpenMPI's libmpi_f77 calls the VT MPI wrapper functions - not the original ones)
- default configure options on Cray platforms: use compiler option '--target=$XTPE_COMPILE_TARGET' only if the environment variable is set
- VT libs:
- added support for CUDA tracing via CUPTI callbacks and activities (runtime and driver API, kernels, memory copies, GPU idle time and GPU memory usage)
- added support for cudaMemcpyDefault and synchronous peer-to-peer memory copies in CUDA library wrapper
- 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 is disabled
- use stack-allocated char-array when composing vtunify command; on some platforms system() results in exit code 127 when using a dynamically allocated char-array
- fixed bug in async. counter plugin
- fixed handling of empty MPI groups (MPI_GROUP_EMPTY)
- fixed handling of MPI groups implicitly generated by MPI_Win_create
- fixed conversion from MPI_Fint-arrays to MPI_Aint-arrays in Fortran MPI wrappers
- 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 (set application's errno to the errno defined in the external LIBC which is used for calling the real functions)
- suppress warnings about usage of deprecated MPI functions (OMPI_WANT_MPI_INTERFACE_WARNING=0)
- vtunify[-mpi]:
- fixed potential memory corruption during enqueuing recv. messages for p2p message matching
- vtunify-mpi:
- use the MPI-2 versions of MPI_Address and MPI_Type_struct
- removed unused MPI wrappers
- 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 program
- OPARI:
- fixed Fortran parsing for detecting end of block DO loops
This commit was SVN r26114.
- otfmerge-mpi:
- use the MPI-2 versions of MPI_Address and MPI_Type_struct
Changes to VT:
- VT libs:
- suppress warnings about usage of deprecated MPI functions (OMPI_WANT_MPI_INTERFACE_WARNING=0)
- vtunify-mpi:
- use the MPI-2 versions of MPI_Address and MPI_Type_struct
- removed unused MPI wrappers
This commit was SVN r26051.
- tests/thumbnail:
- removed unnecessary header include (stdbool.h) that breaks build on Solaris
Changes to VT:
- configure:
- fixed detection of Open64 compilers for automatic instrumentation
- VT libs:
- fixed non-increasing timestamps when flushing the trace buffer: check trace status after calling vt_update_counter() to prevent function leave events from recording, if maximum buffer flushes are reached
- calculate fixed record lengths only once when creating new buffer entries
- vtunify[-mpi]:
- minor code-optimization: use ++it instead of it++ in for-loops to prevent unnecessary copying of objects
This commit was SVN r25674.
- Use own implementation of assert() to work around a compiler bug (seen on MacOS using GCC v4.2.1):
The linker results in an undefined reference to ___builtin_expect() when using assert() within OpenMP-parallel regions.
This commit was SVN r25595.
- fixed a bug (potential segfault) in the MPI wrapper functions MPI_Gatherv and MPI_Scatterv which occurred due to illegal access to insignificant parameters on non-root ranks
- vtdyn:
- stop instrumenting if an error occurred during finalizing instrumentation set
- vtunify-mpi:
- added option '--stats' to unify only summarized information, no events
- reduced memory usage on rank 0: immediately send token translation tables to the corresponding worker ranks when they are complete
- send the "finished-flag" together with the last set of definitions read to rank 0 instead of sending an extra message
- OPARI:
- fixed detection of DO loop beginnings; If there is a variable which contains "do" in its name it was detected as DO loop :-(
- fixed processing of Fortran line-continuation appearing after a complete OpenMP directive
This commit was SVN r25584.
- 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.
- configure:
- patch Makefiles which define library targets that depend on other libraries to prevent the following Libtool warning:
"libtool: link: warning: `...//*.la' seems to be moved"
(Libtool getting confused by the "//" in the library paths,
so remove the trailing '/' from all *LIBDIR variables.)
- vtwrapper:
- added options '-vt:showme-<compile|link>' to the compiler wrapper to show the compiler/linker flags that would be supplied to the underlying compiler
This commit was SVN r25105.
- updated version number to 5.11.2
- fixed even more Coverity warnings
- vtunify:
- replaced std::vector relict by LargeVectorC (fixes segfault during gathering)
- vtwrapper:
- do also escape '\', ''', '(', and ')' in arguments
This commit was SVN r25071.
- always check the result of OTF_WStream_get*Buffer since it might be NULL in case OTF_File_open fails
Changes to VT:
- CUDA Tracing:
- fixed configure stack for filtered kernels
- fixed buffer size for CUPTI tracing
- replaced error message with warning to continue tracing, even if CUDA error occured (VTCUDAsynchronizeEvt)
- vtunify:
- enlarged minimum message size for transfering local definitions to rank 0
- use binary search for searching already created global definitions
- use binary search for searching already created global marker definitions
- use LargeVectorC instead of std::vector for pre-allocating elements
- vtwrapper:
- added options '-vt:CC' and '-vt:c++' which are synonyms for '-vt:cxx'
This commit was SVN r24997.
- improved zlib compression
- otfprofile-mpi:
- fixed progress
Changes to VT:
- fixed C++ linker issue for manual instrumentation of multiple files
- fixed CUDA kernel launch configuration
- process and thread buffer size can be explicitly specified by the user via the environment variables VT_BUFFER_SIZE and VT_THREAD_BUFFER_SIZE
- fixed CUDA buffer management
- vtfilter:
- fixed progress
- vtwrapper:
- link CUPTI library, if available
- vtsetup:
- removed fixed path to *.dtd file in vtsetup-data.xml[.in] (fixes 'java.net.MalformedURLException')
This commit was SVN r24950.
otfprofile-mpi:
- added progress display
- added verbose messages
- added functions to sychronize the error indicator to all worker ranks
(enforces that all ranks will be terminated by calling MPI_Abort if anyone fails)
- wrap def. comments after 80 characters
- use pdf[la]tex instead of latex/dvipdf to convert TeX output to PDF
- added configure checks for pdf[la]tex and PGFPLOTS v1.4
- fixed function invocation statistics generated from summarized information (--stat)
- fixed memory leak
Changes to VT:
MPI wrappers:
- fixed wrapper generation for MPI implementations which don't support the MPI-2 standard (e.g. MVAPICH, MPICH)
- corrected IN_PLACE denotation for MPI_Alltoall* and MPI_Scatter*
vtwrapper:
- corrected detection of IBM XL's OpenMP flag -qsmp=*:omp:*
vtunify:
- fixed faulty cleanup of temporary files which occurred if VT is configured without trace compression support
This commit was SVN r24851.
This merges the branch containing the revamped build system based around converting autogen from a bash script to a Perl program. Jeff has provided emails explaining the features contained in the change.
Please note that configure requirements on components HAVE CHANGED. For example. a configure.params file is no longer required in each component directory. See Jeff's emails for an explanation.
This commit was SVN r23764.
omp_get_thread_num -> MY_THREAD
omp_get_num_threads -> THREAD_NUM
to avoid conflicts with the 'omp.h' of the PGI compiler version 10.0.x
This commit was SVN r23748.
that Automake doesn't assume that these are GNU standard packages
that conform to the GNU coding standards. Without this keyword,
Automake can replace the VT INSTALL files with the GNU standard
INSTALL text file.
This change is ''necessary'' for the autogen improvements that are
coming shortly (see
http://www.open-mpi.org/community/lists/devel/2010/09/8478.php); I'm
committing this change ahead of time so that I can pass it upstream to
the VT developers.
This commit was SVN r23740.