- 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.
So provide a new parameter (can't have too many!) that handles this situation by stripping the prefix from the returned node name. Also do a little cleanup to ensure we cleanly exit from errors, without generating too many annoying messages.
This commit was SVN r25562.
Turns out, this isn't necessarily true. The Cray, for example, launches processes in a toroidal pattern, thus causing the daemons to wind up somewhere other than what we thought. Other environments (e.g., slurm) are also capable of such behavior, depending upon the default mapping algorithm they are told to use.
Resolve this problem by making the daemon-to-node assignment in the affected environments when the daemon calls back and tells us what node it is on. Order the nodes in the mapping list so they are in daemon-vpid order as opposed to the order in which they show in the allocation. For environments that don't exhibit this mapping behavior (e.g., rsh), this won't have any impact.
Also, clean up the vm launch procedure a little bit so it more closely aligns with the state machine implementation that is coming, and remove some lingering "slave" code.
This commit was SVN r25551.