- 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.
(reworked r23550)
- append "vampirtrace" to ${datarootdir} and ${includedir} even the options '--includedir' and '--datarootdir' are specified
(this is meaningful for the creation of the Open MPI distribution packages)
- disable OpenMP support in otfprofile if the PGI compiler is used to work around the following errors:
compiler version compiler error
< 9.0-3 PGCC-S-0000-Internal compiler error. calc_dw_tag:no tag
(see Technical Problem Report 4337 at http://www.pgroup.com/support/release_tprs_90.htm)
10.1 - 10.6 this kind of pragma may not be used here
#pargma omp barrier
This commit was SVN r23564.
The following SVN revision numbers were found above:
r23550 --> open-mpi/ompi@3ef374478f
- fixed bug in MPI-I/O tracing: tracking MPI file handles even if MPI_File_open isn't recorded
- fixed compiler warnings in the PAPI component
- incremented version number to 5.8.2
This commit was SVN r23074.
- extendet support for BlueGene/P:
- building shared VT libraries
- tracing 3rd-party libraries (e.g. libc I/O)
- tracing multi-threaded applications
VT configure fixes:
- fixed detection on CTool for 3rd-party library tracing
VT fixes:
- reduced memory overhead by using the trace buffer for string/array elements of some records
- do not shutdown call-stack if max. number of buffer flushes reached, because the additional function leaves suggest a wrong application flow
- vtunify-mpi:
- fixed conversion of VTUnify_MPI_Aint arrays
- vtwrapper:
- if an OPARI modified object file (*.mod.o) cannot be renamed, abort only if the compiler wrapper runs in "only-compile" mode (-c)
OTF fixes:
- otfinfo:
- fixed and enhanced calculation of trace file size
- changed unit of timer resolution (s -> Hz)
- otfprofile:
- fixed progress
- kill '_' and '\' in process names to make LaTex happier
This commit was SVN r22963.
Aleksej Saushev.
Dont use bash or bashism in shell scripts
We should use Posix' setpgid(0,0), which is equivalent to setpgrp().
This commit was SVN r22829.
- skip test for libdl on BlueGene? and CrayXT platforms (particularly on CrayXT this library can be linked but it isn't suitable)
- set cache variables for functions 'PMPI_Win_test', 'PMPI_Win_lock', 'PMPI_Win_unlock', and 'MPI_Register_datarep', if VT is configuring for Open MPI
- added test for pthread functions 'pthread_condattr_<set|get>pshared' and 'pthread_mutexattr_<set|get>pshared', because they are not available on some platforms
VT fixes:
- cut 'nm' collected symbol names at '??'
- vtunify:
- fixed unsafe usage of some strncpy's
- fixed potential segmentation fault in vtunify-mpi which might occur on 32bit platforms using MPICH2
OTF general:
- updated date in copyright header of each source file
OTF fixes:
- minor code cleanups (indentation, nicer error messages, more correct free's)
- otfaux:
- fix to place final statistics after the very last record instead of right before
- changed fatal error to a warning when a file is closed twice (or unexpectedly)
This commit was SVN r22820.
- Updated date in copyright header of each source file
VT configure fixes:
- fixed configure's version detection for PAPI to support version 4.x
- added configure tests to detect Bull MPICH2
VT new features:
- added support for "re-locate" an existing VampirTrace? installation without re-build it from source (fixes OMPI's ticket #1990)
- added support for tracing functions in shared libraries instrumented by the GNU, Intel, Pathscale, ot PGI 9 compiler
- added support for PAPI-C counters which belong to different components
- extended usability of environment variable VT_METRICS for PAPI counters to specifiy whether a counter provides increasing or absolute values
This commit was SVN r22637.
- patch libtool.m4 to fix detection of PGI 10 C++ compiler
- patch configure to fix detection of PGI 10 Fortran compiler (pgfortran)
- checks for MPI:
- do only check Fortran interoperability if F77 compiler given
- do not enable MPI-2 I/O support for LAM/MPI
- added configure checks for PMPI_Win_<lock|unlock|test>, because in LAM-MPI these functions are missing
- checks for LIBC-I/O tracing:
- pass ldd's stderr output to /dev/null
VT source fixes:
- fixed detection of unique node id on MacOS platforms (use sysctl instead of gethostid)
- fixed yet another Coverity warning
- fixed compiler warnings on MacOS
This commit was SVN r22508.
- set configure variable 'inside_openmpi' to "no", if hidden argument '--with-openmpi-inside' not given
- added functions 'MPI_Group_range_<incl|excl>' to Fortran MPI wrappers
- updated default configure options for NECSX, BlueGene/L+P
- repaired tools/opari/doc/lacsi01.pdf
- fixed several Coverity warnings
This commit was SVN r22476.
- added support for shared libraries inside Open MPI
- hidden configure option '--with-openmpi-inside'
- do not show config titles/summary if configuring inside Open MPI
This commit was SVN r22440.
- removed tools/opari/doc/lacsi01.ps.gz which is equivalent to tools/opari/doc/lacsi01.pdf
- corrected svn:mime-type of tools/opari/doc/opari-logo-100.gif
This commit was SVN r22267.
use the new Automake "silent rules" if available.
If you are using an Automake prior to v1.11, you won't see the new
silent rules -- it will automatically default back to the "verbose"
rules.
Note, too, that even with these changes, you can enable the verbose
"make all" output in one of two ways:
1. Add "V=1" to your "make" command line
{{{
shell$ make all V=1
}}}
2. Add "--disable-silent-rules" to your "configure" command line:
{{{
shell$ ./configure --disable-silent-rules ...
}}}
The one down side of using the silent rules by default is that we'll
get less diagnostic information when users send their build logs. I
think we should update the web page to request that users send build
logs of "make V=1", but I'm guessing that not everyone will do it.
Note that I did ''not'' silent-ize the libltdl build (which is a dozen
or so files in the beginning of the build) because we wholly import
libltdl at autogen time. I therefore didn't want to patch libltdl
(further) after importing it a) to remain as forward- compatible as
possible, and b) patching the imported libltdl build system might be
tricky in terms of timestamps / dependencies. So those dozen-or-so
files will still be "verbose", but the rest of the files in OMPI will
be "silent".
This commit was SVN r22189.
Continue the reorganization of the configure system. Move files from the main config directory to their appropriate level-specific config directories. Modify the configure system to correctly handle compiler detection, test, and setup so that all things pertaining to opal and orte are done at the lower level, with the ompi configure system only looking at mpi-specific options.
Ensure the wrapper compilers for orte and ompi only get built when appropriate. Add support for c++ to the orte wrapper compilers, both script and non-script versions.
This commit was SVN r22138.
- reduced list of supported MPI implementations to Open MPI
(changed meaning of configure option '--with-openmpi': this option indicates an Open MPI internal build)
- updated version number of integrated VT to 5.4.10
This commit was SVN r21679.
(also usable to check validation of a trace)
- removed OTF python bindings
(a working version of the OTF python bindings are available in the latest stand-alone release;
see http://www.tu-dresden.de/zih/otf/)
- incremented OTF version number
This commit was SVN r21601.