- added preprocessor conditional for vt_cupti_events_enabled
(fixes compile error when CUDA-RT wrapper are enabled and CUPTI is disabled (as reported at: https://svn.open-mpi.org/trac/ompi/changeset/29752 by Jörg Bornschein))
This commit was SVN r29754.
Fixed warnings about the need of the 'subdir-objects' option when using Automake v1.14.
Due to a bug in Automake (see http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13928) the 'subdir-objects' option cannot be enabled.
To get around this problem external sources files are sym linked in the current build directory (as done in ompi/mpi/c/profile) to lead Automake to believe that all source files are in the same directory.
This commit was SVN r29732.
- removed potential double-'/' in CUPTIDIR which makes trouble with rpmbuild's debugedit program (fixes trac:3854)
This commit was SVN r29461.
The following Trac tickets were found above:
Ticket 3854 --> https://svn.open-mpi.org/trac/ompi/ticket/3854
- adapted Open MPI version check (the "const" stuff will come with version 1.7.4, not from 1.9.0)
- removed the const keyword from the deprecated functions MPI_Type_hindexed and MPI_Type_struct
TODO: Since MPICH v3.x adds the const keyword to that functions we need a configure test to figure out whether adding const is required. (only relevant for the stand-alone version of VampirTrace)
This commit was SVN r29317.
The following SVN revision numbers were found above:
r29314 --> open-mpi/ompi@29b22f350e
* Always enable "const" in the wrapper functions, even though Open MPI
doesn't advertise itself as MPI-3.0 yet
* Remove CONST from MPI_Type_hindexed, MPI_Type_struct (because
they're deprecated functions, and never had const added to them)
This commit was SVN r29280.
- fixed compiler warnings when compiling for 32-bit
- MPI wrapper generator scripts:
- removed non-posix call to length(array)
- exit scripts if any statement returns a non-true return value (set -e)
This commit was SVN r28524.
- general:
- incremented version number to 5.14.4
- fixed Coverity CIDs: 72002, 72099, 72273, 710580, 710664, 710665, 710666
- VT libs:
- fixed "incompatible declaration" errors when building against an MPI-3 implementation
Since MPI-3 the C keyword "const" is added to all relevant MPI API parameters
(e.g. MPI_Send(void* sendbuf, ...) -> MPI_Send(const void* sendbuf, ...)).
Prepending the macro CONST to these parameters which is defined either to "const" (if MPI-3) or to nothing (if MPI-1/2).
- fixed potential buffer overflow when reading the filter file
- CUDA tracing:
- 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
- compiler wrappers: add path to mpi.h to the PDT parser command and preprocessor flags
This commit was SVN r28494.
- Introduced configure option '--enable-fmpi'. If configuring Open MPI w/o Fortran bindings (--disable-mpi-f77/--disable-mpi-fortran), then this option (i.e. --disable-fmpi) will be implicitly passed to the VT configure to disable MPI Fortran support.
This commit was SVN r28260.
- configure:
- fixed passing FCFLAGS to the Fortran compiler when building libvt-fmpi
- 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
- do not build the unification library when building with HP/Platform MPI (needs linking libmpiCC, even if the C++ MPI interface isn't used)
- removed 'libfmpi' from list of MPI Fortran libraries to be searched (causes that 'libvt-fmpi' will be built when configuring for HP/Platform MPI)
- do not build the MPI Fortran library 'libvt-fmpi' when building VT inside Open MPI
- Java tracing:
- minor performance improvment: call vt_java_check_error (now vt_java_error) only if a JVMTI function returns an error
This commit was SVN r28228.
- general: Fixed several Coverity warnings
- otfprofile: Do not show helptext if '-V' given
- otfinfo: Fixed counting of collective operations and markers
This commit was SVN r28195.
- configure: VPATH building: Moved adding of -I$top_srcdir to CPPFLAGS to the end of configure to prevent using this flags for configure checks
- VT libs: Fixed potential segmentation fault (infinite recursion) when writing intermediate statistics (VT_STAT_INTV != 0)
- vtunify: Fixed header include to disable OpenMP in the library version of vtunify (libvt-mpi-unify)
- fixed several Coverity warnings
This commit was SVN r28187.
- general:
- incremented version number to 1.12.3
- updated copyright information (2012->2013)
- fixed compiler warnings occurred when NDEBUG is defined (--with-platform=optimized)
- otfprofile, LaTeX output:
- swapped x & y axis of the Message Data Rate Matrix
- adapted labels to Vampir
Changes to VT:
- general:
- incremented version number to 5.14.3
- updated copyright information (2012->2013)
- fixed compiler warnings occurred when NDEBUG is defined (--with-platform=optimized)
- configure / build system:
- do not search for the MPI lib. when an MPI compiler wrapper was found (prevents double linkage of the MPI lib. when building vtunify-mpi and vtfilter-mpi)
- prepend cross-prefix to the compiler wrappers *only* if '--with-cross-prefix[=PREFIX]' is given
- removed unnecessary sources from libvt-java
- VT libs:
- extended inoffical API for manual region tracing: allow specifying a group name
- plugin counters: Merge a set of post-mortem counters and write them under a single async key. This speeds up the unification.
- Java tracing:
- removed multiple asking for the current thread id when recording method enter/leave events
- replaced hash function (id % prime) by Jenking's recommended one ( id & (hash_table_size-1) )
- vtdyn: Do not instrument regions where inserting instrumentation would requires using a trap
- vtsetup: Fixed availability state of the exec tracing feature
This commit was SVN r28162.
- revised fix for OpenType Font conflicts based upon Jeff's comments in CMR #3497)
- renamed libotf to libopen-trace-format
- install libraries to LIBDIR (as before, no need for adjusting LD_LIBRARY_PATH)
This commit was SVN r28010.
- fixed build error when the Python bindings were enabled
- fixed conflicts with OpenType Fonts:
- install header files to INCLUDEDIR/otf1
(only when building outside VT/Open MPI)
- install libraries to LIBDIR/otf1
- renamed otfdump to otfprint
This commit was SVN r27983.
- library wrapping: Prevent calling dlerror, if the memory allocation wrappers are enabled. dlerror calls realloc which would ends up in an infinite recursion.
This commit was SVN r27869.
- configure: fixed warnings from automake 1.12.x
Changes to VT:
- general:
- incremented version number to 5.14.2
- configure:
- fixed warnings from automake 1.12.x
- VT libs / MPI wrappers:
- do initialize VT and enter the dummy main function ("user") if MPI_Initialized is the very first event to be recorded (fixed assertion error)
- leave the dummy main function on the same thread where it is entered (fixes potential stack underflow)
This commit was SVN r27734.
- configure: pass the MPI configure options (e.g. --with-mpi-lib, --with-mpi-inc-dir) to the OTF configure, even if MPI compiler wrappers were found
This commit was SVN r27710.
- compiler wrappers: removed invocation of pdbcomment; it removes essential information from the PDB file for instrumenting functions
This commit was SVN r27687.
- otfprofile: fixed build error when using the IBM XL C++ compiler
Changes to VT:
- configure:
- use AC_CHECK_TYPES instead of AC_CHECK_DECLS to check for PAPI's long_long type
- use AC_C_INLINE to check whether C 'inline' is present
- VT libs:
- set CUPTI tracing as default, if CUDA runtime wrapper has not been built
- added a common interface for all NVIDIA CUPTI interfaces (events, activity, callbacks)
- added support for concurrent kernel tracing (since CUDA 5.0)
- removed almost unused VT_DEBUG env. variable - replaced calls to vt_debug_msg(DBG_LEVEL,...) by vt_cntl_msg (DBG_LEVEL+10,...)
- added some more ifdefs to new CUDA 5 features
- added several guards for internal malloc() and free() calls in CUDA related source files
- revised memory allocation tracing:
- intercept memory (de)alloaction functions by library wrapping (replaces deprecated hook technique from the GNU C library)
- added support for multi-threaded applications
- added wrapper functions for memalign, posix_memalign, and valloc
- revised exec,system,fork tracing
- retitled to "Child Process Execution Tracing"
- introduced env. variable VT_EXECTRACE (marked VT_LIBCTRACE as deprecated)
- added wrapper functions for execvpe, fexecve, waitid, wait3, and wait4
- changes default function group name for
- memory (de)allocation functions: "MEM" -> "LIBC-MALLOC"
- I/O functions: "I/O" -> "LIBC-I/O"
- child process execution: "LIBC" -> "LIBC-EXEC"
- plugin counter interface:
- added check for initialized vt_plugin_cntr_info.info
- vtdyn:
- added missing header includes for Dyninst 8
- vtrun:
- do not preload the Dyninst Runtime library; it is loaded by Dyninst itself
This commit was SVN r27679.
- general:
- incremented version number to 1.12.2
- OTF library:
- implemented workaround for handling bogus zlib sync. points during reading
Changes to VT:
- general:
- incremented version number ot 5.14.1
- configure:
- to prevent conflicts with the libtool RPM, append "/vampirtrace" to ${datadir}, if it doesn't points to the default (=${datarootdir})
(Fixes trac:3382)
This commit was SVN r27630.
The following Trac tickets were found above:
Ticket 3382 --> https://svn.open-mpi.org/trac/ompi/ticket/3382
- otfaux:
- fixed build error on Solaris and NetBSD (removed -lm from library dependencies)
Changes to VT:
- vtunify:
- disable OpenMP parallelization if PGI compiler version < 9 is used (threadprivate not supported)
This commit was SVN r27316.
- configure: do not build OpenMP support if CFLAGS contains a compiler flag for disabling handling OpenMP directives (e.g. -fno-openmp, -nomp, -hnoomp)
Fixes trac:3117
This commit was SVN r27282.
The following Trac tickets were found above:
Ticket 3117 --> https://svn.open-mpi.org/trac/ompi/ticket/3117
- general:
- incremented version number ro 1.11.3openmpi
- otfaux:
- fixed build error when using the Oracle compiler on Solaris. (removed usage of too recent rint() function)
Fixes trac:3257
This commit was SVN r27279.
The following Trac tickets were found above:
Ticket 3257 --> https://svn.open-mpi.org/trac/ompi/ticket/3257
The Open MPI configure automatically adds the -D_REENTRANT flag to CPPFLAGS. This causes that one of the PGI STL headers includes the omp.h header - unfortunately the fake one located in tools/vtwrapper/ instead of the real one. Thus, several OpenMP symbols were undefined and the compiler aborted.
This commit was SVN r27130.
- general:
- incremented version number to 1.11.2openmpi
- lib OTFAUX:
- speed-up messages matching, if no snapshots should be generated
Changes to VT:
- general:
- incremented version number to 5.13.1openmpi
- compiler wrappers:
- 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:
- fixed timestamp boundary check for merging asynchronous plugin counters (i.e. async. timestamp must >= process' start timestamp)
- fixed timestamp conversion from local to global
- print percentage of message matching bumps (unmatched or reversed messages)
- inlined key-value list "record handler"
- minor optimizations in hook for merging async. events:
- search async. source manager only once per stream
- don't call writeRecHook_Event() if no async. source key is defined
This commit was SVN r26925.
- configure:
- added option --with[out]-liberty to enable/disable symbol demangling with libiberty; default: disabled, because many systems don't provide a PIC version of libiberty
- fixed compiler flags for building Fortran MPI wrapper library
This commit was SVN r26839.
- added CUDA stream reuse for both, CUDA tracing with CUPTI and CUDART wrapper
- removed CUDA stream number from thread name, when CUDA stream reuse is enabled
- disable tracking of MPI communicators, requests, windows, etc. if MPI is initialized with MPI_THREAD_SERIALIZED or MPI_THREAD_MULTIPLE (only MPI function enter/leave events will be recorded)
- configure:
- fixed detection of compiler instrumentation type on Cray platforms using the cc compiler wrapper
- compiler wrappers:
- fixed preprocessing source files to be parsed by OPARI (add path to empty omp.h to the preprocessor flags to avoid multiple declarations of OpenMP functions, types, etc.)
- vtnvcc: Remove 'compinst' instrumentation type, if VT is configured with a non-GNU compiler instrumentation support (Fixed "unrecognized option" error)
- vtdyn:
- added support for instrumenting outer- and inner loops and its iterations (outer=loops within a function, inner=loops within outer loops)
- try to get the full prototype of functions to be instrumented
- consider default filter rules also if no filter file is given
- fixed potential segfault if adding a filter rule w/o stack bounds
- print verbose messages on stdout if vtdyn is started from the Dyninst attach library (libvt-dynatt)
- vtunify:
- print verbose messages on stderr if vtunify is started automatically from the VT library
This commit was SVN r26836.
- fixed RBuffer_searchTime() for compressed files
Changes to VT:
- rebuild HTML+PDF version of VT user manual
- fixed compiler instr. entry in configure summary (was empty if no compiler instr. found)
This commit was SVN r26750.