- 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.
arrays.
The MPI 3.0 standard added const to all in buffers in the C bindings. This
commit adds the const keyword and in most cases casts const away. We will
eventually should go through and update the various interfaces (coll, pml,
io, etc) to take the const keyword. The group, comm, win, and datatype
interfaces have been updated with const.
cmr=v1.7.4:ticket=trac:3785:reviewer=jsquyres
This commit was SVN r29266.
The following Trac tickets were found above:
Ticket 3785 --> https://svn.open-mpi.org/trac/ompi/ticket/3785
- 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.