mpi3-fortran / ompi / contrib / vt / vt / ChangeLog

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
5.14.1openmpi
	- updated version of internal OTF to 1.12.2openmpi
	  (see extlib/otf/ChangeLog)
	- append "/vampirtrace" to DATADIR, if configuring inside Open MPI and
	  DATADIR doesn't points to the default (=DATAROOTDIR)
	  (prevents conflicts with the libtool RPM)

5.14openmpi
	- updated version of internal OTF to 1.12.1openmpi
	  (see extlib/otf/ChangeLog)
	- added support for filtering functions of specific call paths
	- introduced new environment variable VT_MPI_IGNORE_FILTER to
	  enable/disable recording of MPI communication events although its
	  corresponding functions are filtered
	- fixed undefined reference error for vt_get_mpi_f_in_place___ when
	  linking the Fortran MPI wrapper library (libvt-fmpi) built for
	  SGI-MPT (--with-sgimpt)
	- compiler wrappers:
		- added option '-vt:inst-exclude-file[-list]' to exclude source
		  files from the automatic instrumentation by the compiler or
		  PDT/TAU
		- added option '-vt:opari-exclude-file[-list]' to exclude source
		  files from the instrumentation of OpenMP constructs by OPARI
		- consider preprocessed files (-vt:preprocess) for reuse
		  (-vt:reusefiles)
		- do additionally scan for comments (pdbcomment) if performing
		  PDT/TAU instrumentation to prevent instrumenting functions
		  within comments
	- OPARI: (see tools/opari/ChangeLog:26,27)

5.13.2
	- added support for IBM BlueGene/Q
	- added support for PAPI 5 (aka PAPI-V)
	- fixed CUDA runtime API wrapper for CUDA 5 
	- fixed "Cannot find communicator" error occurred when completing
	  a non-blocking MPI communication using an already freed communicator
	  (e.g. MPI_Irecv(...,comm,...), MPI_Comm_free(comm), MPI_Wait())
	- fixed 'gnu' compiler instrumentation for functions defined within
	  shared objects
	- vtunify:
		- disable OpenMP parallelization if PGI compiler version < 9
		  is used (threadprivate not supported)
	- OPARI: (see tools/opari/ChangeLog:24,25)

5.13.1
	- updated version of internal OTF to 1.11.2goldfish
	  (see extlib/otf/ChangeLog)
	- use high precision timer RTC on Cray XE/XK6 platforms using the
	  Cray compiler
	- fixed parsing symbol list file given by VT_GNU_NMFILE if it is
	  generated by nm with multiple input files
	- compiler wrappers:
		- added detection of Cray compiler's OpenMP flag (-h omp) to
		  enable OPARI instrumentation
		- add OPARI option '-nosrc' when using the Cray compiler
		  (at least the Fortran compiler does not understand
		   #line constructs)
		- 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[-mpi]:
		- fixed timestamp boundary check for merging asynchronous
		  plugin counters
		- enhanced precision of timestamp conversion from local 
		  to global 

5.13
	- updated version of internal OTF to 1.11.1goldfish
	  (see extlib/otf/ChangeLog)
	- added support for highly parallel trace writing using the 
	  I/O Forwarding Scalability Layer (IOFSL) with atomic append 
	  aggregation
	- added support for generating snapshots which allows Vampir to load
	  subsets of the resulting trace
	- introduced new vtfort compiler wrapper for compiling *any* Fortran
	  code (Fortran 77, 90, 2003, etc.)
	  (vtf77 and vtf90 still exist, but they are symlinks to vtfort)
	- added support for automatic instrumentation with Cray CCE compiler
	- improved compiler instrumentation support for IBM XLC/XLF compilers
	  version 11/13
	- introduced environment variable VT_GPUTRACE, which replaces several 
	  CUDA tracing environment variables
	- added option to enable CUDA stream reuse
	- expose flush of CUPTI activities as measurement overhead
	- added CUDA runtime API functions to CUDA runtime API wrapper, which
	  are new in CUDA 4.2 and 5.0.7 (preview release)
	- extended function filter capabilities by
		- recursive filtering (disables recording callees of
		  filtered function)
		- function group filtering
		- stack level filtering
	- vtdyn:
		- added support for instrumenting loops
		- try to get the full prototype of functions to be instrumented
		- print verbose messages to stderr if started by the Dyninst
		  attach library (libvt-dynatt)
	- vtunify[-mpi]:
		- removed strict order of command line parameters
		- print verbose messages to stderr if started automatically
		- added compatibility check for input trace file generated
		  by a different VampirTrace version
		- drop/adapt records which have references to processes
		  disabled by the process filter
		- count message matching irregularities
		  (i.e. number of unmatched and reversed messages)
		- fixed a Heisenbug in conversion of local to global timestamps
		  (occurred when using the Intel compiler with O2 or higher
		   optimization)
	- compiler wrappers:
		- added option '-vt:reusefiles' to reuse kept intermediate
		  files generated by a previous run of OPARI and/or PDT/TAU
		- added option '-vt:keepfiles' as synonym for '-vt:nocleanup'
		- fixed preprocessing of OpenMP source files
		- vtnvcc: fixed forwarding of compiler/linker options
	- fixed handling of 'errno' in LIBC[-I/O] wrappers on AIX
	- fixed handling of MPI_Aint in MPI-2 Fortran wrappers
	  (MPI_Aint=INTEGER(KIND=MPI_ADDRESS_KIND))
	- do not abort if the application requests the MPI thread support level
	  MPI_THREAD_SERIALIZED or MPI_THREAD_MULTIPLE
	  (disable recording of MPI communication events instead)
	- fixed GPU compute idle time measurement with CUPTI activity tracing
	- fixed installation issue when prefix is set to the source directory
	  (e.g. ./configure --prefix=$PWD)
	- fixed handling of unidirectional collective operations (e.g. broad-
	  cast, gather, scatter) using intercommunicators
	- fixed hanging mutatee when using binary instrumentation from an
	  Intel-built VampirTrace installation
	- OPARI: (see tools/opari/ChangeLog:23)

5.12.2
	- updated version of internal OTF to 1.10.2coelacanth
	  (see extlib/otf/ChangeLog)
	- added support for CUDA tracing via CUPTI callbacks and activities
	  (runtime and driver API, kernels, memory copies and GPU memory usage)
	- added support for cudaMemcpyDefault and synchronous peer-to-peer
	  memory copies in CUDA library wrapper
	- added configure switches to enable/disable CUPTI and CUDA wrapping
	- 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 was disabled
	- fixed platform detection on BlueGene when configuring for the frontend
	- fixed detection of Cray compiler's OpenMP flag in configure
	- fixed detection of C++ runtime libraries for Cray and PGI 11.x compilers
	- fixed detection of MPI_IN_PLACE in configure
	- do not use RTLD_DEFAULT handle for dlsym() on CrayX? platforms;
	  it's provided by dlfcn.h but not working (segmentation fault)
	- fixed conversion from MPI_Fint-arrays to MPI_Aint-arrays in Fortran
	  MPI wrappers
	- 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
	- fixed handling of empty MPI groups (MPI_GROUP_EMPTY)
	- fixed handling of MPI groups implicitly generated by MPI_Win_create
	- 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
	- fixed parsing of PAPI native events in VT_METRICS
	- vtunify[-mpi]:
		- fixed possibly uninitialized global token for the predefined
		  Node and "All" process groups
		- fixed potential memory corruption during enqueuing recv.
		  messages for p2p message matching
	- vtunify-mpi:
		- 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 programs
	- OPARI: (see tools/opari/ChangeLog:22)

5.12.1
	- updated version of internal OTF to 1.10.1coelacanth
	  (see extlib/otf/ChangeLog)
	- fixed detection of Open64 compilers for automatic instrumentation
	- fixed build issues on MacOS using GCC v4.2
	- fixed non-increasing timestamps when flushing the trace buffer
	- fixed a bug in the MPI wrapper functions MPI_Gatherv and MPI_Scatterv
	  which occurred due to illegal access to insignificant parameters on
	  non-root ranks
	- vtunify-mpi:
		- added option '--stats' to unify only summarized information,
		  no events
		- reduced memory usage
	- OPARI: (see tools/opari/ChangeLog:20,21)

5.12
	- updated version of internal OTF to 1.10coelacanth
	  (see extlib/otf/ChangeLog)
	- added support for CUDA runtime tracing via CUPTI callbacks
	- added support for process group counters
	- extended internal API to:
		- create process groups
		- assign attributes to process groups
		  (e.g. is communicator, has counters)
	- improved MPI group/communicator handling:
		- merge groups which have the same members to one group
		- name groups to "MPI Group X"
	- added writing of process begin/end records
	- added support for LIBC [I/O] tracing on Cray XT platforms
	- added environment variable VT_ONOFF_CHECK_STACK_BALANCE to
	  enable/disable check for stack level balance when switching tracing
	  on/off by using the user API
	- added configure option '--[enable|disable]-fortran' to control
	  building of Fortran support
	- install a symbolic link 'vtfiltergen[-mpi]' which is a synonym for
	  'vtfilter[-mpi] --gen'
	- if possible, get resource usage counters for the calling thread
	  instead of the process
	- disabled unnecessary time synchronization on NEC SX platforms
	- removed MPI_Address and MPI_Get_address from MPI wrappers
	- removed limitation of maximum defined MPI handles (groups, comms.,
	  and windows) in a MPI program
	- fixed incorrect handling of MPI_IN_PLACE
	- fixed erroneous handling of MPI_Aint within the Fortran MPI wrappers
	- fixed incomplete tracking of MPI inter-communicators
	- fixed error handling on flushing the trace buffer
	- fixed potential memory corruption when flushing the trace buffer
	  multiple times (VT_MAX_FLUSHES != 1)
	- fixed numbering in thread names
	- vtunify:
		- fixed parsing of negative time offsets within unify
		  control data
	- vtdyn:
		- detach from application process before continuing its
		  execution (allows signal trapping (e.g. Ctrl+C) within the
		  application)
		- fixed selection of functions to be instrumented
		- save floating point registers before calling instrumentation
		  to ensure correct program behavior
	- compiler wrappers:
		- added options '-vt:preprocess', '-vt:cpp', and '-vt:cppflags'
		  to preprocess source files before parsing by OPARI and/or TAU
		- added options '-vt:opari-rcfile' and '-vt:opari-table' to set
		  pathnames of the OPARI resource and runtime table file
		- added option '-vt:nocleanup' to keep intermediate files
	- vtrun:
		- do preload Dyninst runtime library (DYNINSTAPI_RT_LIB) when
		  instrumenting user functions by Dyninst
	- vtsetup: (see tools/vtsetup/ChangeLog:1.0.1)

5.11.2
	- updated version of internal OTF to 1.9.2sawfish
	  (see extlib/otf/ChangeLog)
	- added options '-vt:showme-<compile|link>' to the compiler wrapper
	  to show the compiler/linker flags that would be supplied to the
	  underlying compiler
	- add path to MPI library when linking with the compiler wrappers
	- do not build vtrun script on BlueGene; shell scripts doesn't work on
	  the back-end
	- fixed segmentation fault in vtunify-mpi which might occur during
	  gathering local marker definitions/spots to master process

5.11.1
	- updated version of internal OTF to 1.9.1sawfish
	  (see extlib/otf/ChangeLog)
	- process and thread buffer size can be explicitly specified by the user
	  via the environment variables VT_BUFFER_SIZE and VT_THREAD_BUFFER_SIZE
	- improved filtering of CUDA kernels
	- enhanced creating global definitions in vtunify
	- fixed CUDA kernel launch configuration
	- fixed unification of local process group definitions
	- fixed wrapper generation for MPI implementations which don't support
	  the MPI-2 standard
	- fixed faulty cleanup of temporary files in vtunify which occurred if
	  VT is configured without trace compression support
	- fixed detection of OpenMP flag '-qsmp=*:omp:*' in the compiler
	  wrappers
	- fixed C++ linker issue for manual instrumentation of multiple files
	- bugfix to OPARI (see tools/opari/ChangeLog:19)

5.11
	- updated version of internal OTF to 1.9sawfish
	  (see extlib/otf/ChangeLog)
	- added support for Cray XE6
	- added tool 'vtsetup' which provides a GUI to prepare measurement runs
	  with VampirTrace
	- added application execution wrapper script 'vtrun' which performs MPI
	  and/or binary instrumentation at runtime
	- extended Dyninst mutator tool 'vtdyn' to rewrite instrumented
	  application executables
	- replaced basic blacklist functionality of vtdyn by the VT runtime
	  filter
	- extended trace unification to match p2p message event records
	- enhanced unification of local traces from very large runs in respect
	  of parallelism and memory usage
	- extended user API to perform user defined communication
	- extended user API for regions to support dynamically generated region
	  names
	- added support for asynchronous plugin counters
	- added support for CUDA 4.0
	- removed support for CUDA 2.x
	- added CUDA performance counter support via CUPTI event API
	- added option '-vt:noopari' to compiler wrapper commands to disable
	  instrumentation of OpenMP constructs by OPARI
	- added configure option
	  '--with-wrapper-<cc|cxx|f77|fc|nvcc>-default-partype=TYPE' to set
	  default application parallelization type for compiler wrappers
	- fixed thread-safety issue in Fortran bindings of user API
	- fixed handling NULL value of pathname given to certain I/O calls
	  (e.g. fopen, open, unlink)
	- fixed base of cycle counter timer on PPC with MacOS
	- fixed default grouping of user functions whose name appears in
	  predefined groups (e.g. VT-API)
	- fixed error when using the compiler wrappers with PDT/TAU + manual
	  instrumentation
	- bugfix to OPARI (see tools/opari/ChangeLog:18)

5.10.1
	- updated version of internal OTF to 1.8.1sturgeon
	  (see extlib/otf/ChangeLog)
	- added configure option '--<en|dis>able-mpiunify-lib' to control
	  building of the MPI trace unification library (libvt-mpi-unify)
	- added GPU memory tracing for CUDA runtime API
	- fixed configure tests for conversion of Fortran MPI handles
	- fixed collecting symbol information of shared libraries which are
	  instrumented by the GNU, Intel, PathScale, or PGI 9 compiler
	- fixed an error in memory management of CUDA devices
	- fixed CUDA device management (CUDA runtime)
	- fixed finalize problem in CUDA runtime wrapper, which in cases
	  produced an unspecific driver error
	- added an additional check to avoid a possible deadlock in vt_open(),
	  which might occur, if something during opening invokes vt_open()
	- fixed not-increasing timestamps error which occurred if an interval
	  for writing statistics (env. VT_STAT_INTV) is set
	- fixed wrong UNIMCI language bindings for Fortran applications
	  (enforces building of the Fortran MPI wrapper library 'libvt-fmpi')
	- fixed handling of command line options in vtjava

5.10
	- updated version of internal OTF to 1.8sturgeon
	  (see extlib/otf/ChangeLog)
	- added support for automatic source code instrumentation by PDT/TAU
	- added MPI-parallel version of vtfilter (vtfilter-mpi) with support
	  for rank specific filtering
	- enhanced termination of MPI-parallel trace unifier in case of an error
	- changed byte counts of collective communication records
	  (see FAQ entry D.8 in the user manual)
	- added changes of CUDA 3.2 runtime API
	- extended vtjava to set the trace file prefix to the jar/class file
	- fixed compile error on Red Hat 5.x which occurred if using GNU
	  compiler with -D_FORTIFY_SOURCE=2
	- fixed faulty library dependencies to MPI which caused in a
	  segmentation fault on AIX
	  (on AIX libvt-fmpi needs additional dependencies to the Fortran
	   runtime libraries; for now building of shared libraries is disabled)
	- fixed a potential segmentation fault in CUDA runtime API tracing
	  (for disabled CUDA kernel tracing and CUDA synchronization level 3)
	- usage of CUDA and PAPI does not result in an error any more
	- fixed measurement of GPU idle time
	- corrected number of used CUDA events for disabled kernel tracing
	- fixed corrupt call stack after an intermediate buffer flush if
	  VT_MAX_FLUSHES is set to 0(=unlimited)
	- fixed detection of executable's pathname on UnionFS
	- fixed detection of OpenMP flags in the compiler wrappers
	- fixed memory source/destination overlap in a MPI_Gatherv call which
	  caused MPICH2 to abort
	- fixed potential segmentation fault during collecting symbol
	  information for instrumentation with the GNU, Intel, PathScale,
	  and PGI 9 compiler
	- fixed segmentation fault which occurred if using PAPI 4 together with
	  libc I/O tracing
	- fixed pathname of the JVMTI agent library in vtjava
	- fixed assertion in vtunify which occurred if enhanced time sync. is
	  enabled
	- fixed segmentation fault in vtunify-mpi which occurred if using more
	  MPI tasks than necessary

5.9
	- updated version of internal OTF to 1.7.1catfish
	  (see extlib/otf/ChangeLog)
	- added support for tracing NVIDIA CUDA runtime API
	- improved automatic trace unification for MPI applications:
	  use application allocated MPI processes for unification
	- extended user API: added "buffer rewind" as an alternative to "on/off"
	- extended the MPI-rank specific filtering to disable ranks completely
	- added environment variable VT_OMPTRACE to enable/disable tracing of
	  OpenMP events instrumented by OPARI
	- added writing of collective begin/end records for MPI Collective
	  operations
	- reduced amount of resulting files:
		- write only one unify control file (*.uctl) for the whole trace
		- do not write *.filt files anymore
	- added environment variables VT_MAX_MPI_COMMS and VT_MAX_MPI_WINS for
	  adjusting internal default limits of used MPI communicators/windows
	- corrected finalize behavior for C++ applications with static objects
	  (e.g. MPI_Finalize in the destructor of a singleton)
	- fixed potential buffer overflow on determining pathname of the
	  application executable
	- fixed loading of dynamic libraries on AIX
	- fixed bugs in the compiler wrappers:
		- don't try to rename the compiler output of an OPARI modified
		  source file if it's specified by the compiler flag '-o'
		- changed order of linking libraries to record also MPI function
		  calls which come from user libraries
		- corrected parsing of separated arguments of the compiler
		  options -I, -L, and -l (e.g. -I <dir>)
	- fixed bug in vtunify: do only write active stream/process ids to the
	  OTF master control file (*.otf)
	- if configuring inside Open MPI, install header files into
	  <includedir>/vampirtrace even the configure option '--includedir' is
	  specified

5.8.2
	- fixed buffer overflow which occurred if marker or event comment
	  records generated
	- fixed bug in MPI-I/O tracing: tracking MPI file handles even if
	  MPI_File_open isn't recorded

5.8.1
	- updated version of internal OTF to 1.6.5stingray
	  (see extlib/otf/ChangeLog)
	- added support for tracing functions in shared libraries instrumented
	  by the GNU, Intel, PathScale, or PGI 9 compiler
	- extended support for BlueGene/P in terms of tracing libraries
	  (e.g. libc I/O) and tracing of multi-threaded applications
	- added default option file for CrayXT platforms
	- added support for PAPI-C counters which belong to different components
	- added environment variable VT_METRICS_SEP to specify a string which
	  separate the counter names in VT_METRICS
	- extended usability of environment variable VT_METRICS for PAPI
	  counters to specifiy whether a counter provides increasing or
	  absolute values
	- added support for "re-locate" an existing VampirTrace installation
	  without re-build it from source
	- fixed configure's version detection for PAPI to support version 4.x
	- added configure tests for a few pthread functions which do not exist
	  on some platforms
	- added configure tests to detect Bull MPICH2
	- use Open MPI provided Fortran wrapper library 'libmpi_f77'
	- added functions 'MPI_Group_range_<incl|excl>' to Fortran MPI wrappers
	- use more portable 'nm' command instead of the BFD library to collect
	  symbol information for instrumentation with the GNU, Intel, PathScale,
	  and PGI 9 compiler
	- do not shutdown call stack if maximum number of buffer flushes was
	  reached, because the additional leaves suggest a wrong application
	  flow
	- fixed potential stack underflow in vtfilter which might be cause a
	  segmentation fault
	- fixed detection of unique node id on MacOS platforms
	- fixed support for LAM/MPI
	- fixed potential segmentation fault in vtunify-mpi which might occur
	  on 32bit platforms
	- patched libtool to avoid a bug in detection of the PGI 10 compilers

5.8
	- updated version of internal OTF to 1.6.4stingray
	  (see extlib/otf/ChangeLog)
	- added support for tracing calls to arbitrary third party libraries
	  The new tool 'vtlibwrapgen' can be used to generate a wrapper library.
	- extended the region filter mechanism to allow MPI-rank specific
	  filter directives
	- added support for automatic instrumentation with PGI 9 compiler using
	  its new compiler flag '-Minstrument'
	- added MPI-parallel trace unifier (vtunify-mpi)
	- disabled simultaneous support for multiple compiler instrumentation
	  types in one VampirTrace installation
	  (all known compiler instrumentation types for the compiler wrappers
	   (e.g. gnu,pgi,xl) are summarized by "compinst")
	- added wrapper script 'vtjava' which invoke the usual Java application
	  launcher with the necessary options for tracing
	- enhanced creating global definitions in vtunify
	- create a process group with the real node name on CrayXT platforms
	- fixed a bug which caused incomplete traces if using automatic instr.
	  for MPI/C++ applications on CrayXT platforms
	- fixed erroneous error messaging in libc tracing
	- fixed wrong order of attributes in 'vt_def_region'
	- fixed erroneous reading of input filter file in vtfilter

5.7
	- updated version of internal OTF to 1.6.1stingray
	  (see extlib/otf/ChangeLog)
	- added support for MPI correctness checking by Universal MPI
	  Correctness Interface (UniMCI)
	- added support for automatic instrumentation by using OpenUH compiler
	  (version 4.0 or higher required)
	- added support for Java tracing using JVMTI
	- added support for CPU ID tracing (requires GLIBC >= 2.6)
	- added support for MPI-2 one-sided communication
	- full support for MPI-2 I/O (using I/O begin/end records)
	- improved tracing of nested POSIX/OpenMP threads: record parent thread
	  identifier of each child thread so that the parent-child relationship
	  will be evident
	- improved tracing of POSIX threads: reuse thread identifiers of
	  terminated threads
	- improved memory allocation tracing: write marker for each alloc/free
	  event which show the allocated/freed bytes
	- added environment variable VT_MAX_STACK_DEPTH which can be used to
	  specify the maximum depth of call stack to record
	- extended user API for intermediate time synchronization and buffer
	  flushes and for updating all counters which specified by the
	  environment variables VT_METRICS and VT_RUSAGE
	- added support email address to assert strings and #error directives
	- added writing of I/O begin/end records for LIBC's I/O tracing
	- added support for tracing file locking via 'flockfile()', 'lockf()'
	  and 'fcntl()'
	- use handle from dlopen(<libc>) for dlsym() calls instead of RTLD_NEXT
	  => LIBC (+I/O) tracing works with statically linked programs now
	- added support for cycle counter timer on Alpha and Sparc platforms
	- added platform configurartion files that provide several default
	  options
	- added configure check for function '__getReg' which required to use
	  the ITC timer on IA64/Linux
	- added configure check for PAPI's special type 'long_long'
	  (will be defined, if the header file 'papi.h' doesn't provide this)
	- install header files to 'PREFIX/include/vampirtrace' by default to  
	  avoid conflicts with the OpenMPI integrated version of VT
	- do not install 'vtCC' and the corresponding config file, if the file
	  system is case insensitive (e.g. HFS+ on MacOS X)
	- added configure option '--with[out]-bfd' to control usage of BFD
	  library to get symbol information for GNU, Intel, and PathScale
	  compiler instrumentation
	- preselect availability of MPI type converter functions
	  (e.g. MPI_Comm_f2c), if '--with-openmpi' was given
	  (further preselections for other MPI implementations will follow)
	- fixed detection of Sun Studio compiler for automatic instrumentation
	- fixed a bug in GNU demangling of C++ names
	- fixed wrong output of dlsym errors in I/O tracing
	- fixed faulty searching for matching filter directive
	- fixed assertion which might be occurred during tracing applications
	  using pthreads and recording PAPI counters
	- fixed not-increasing counter values for tracing threaded applications
	- fixed a bug in Fortran MPI wrappers: added conversion for MPI_BOTTOM
	  and MPI_IN_PLACE
	- fixed Fortran User API for markers
	- fixed a bug in vtfilter: strip the '.otf'-suffix from input/output
	  trace file names, if necessary
	- fixed a bug in the Fortran compiler wrappers: don't remove generated
	  OPARI header files (*.opari.inc) before compiling the table source
	- file (opari.tab.c)
	- enhancement to OPARI (see tools/opari/ChangeLog:16,17)
	- use handle from dlopen(<libc>) for dlsym() calls instead of RTLD_NEXT
	- fixed segmentation fault when encountering invalid file descriptors
	- use hard limit for maximum number of fds

5.6.3
	- updated version of internal OTF to 1.5.2dolphin
	  (see extlib/otf/ChangeLog)
	- added environment variables VT_PFORM_LDIR_CHECK and
	  VT_PFORM_GDIR_CHECK to enable/disable checking for write access to
	  the local/global trace directories
	- added configure variable 'NM' for the command to list symbols from
	  object files
	- added configure options '--with-mvapich[2]' to set the MPI-libs for
	  MVAPICH[2]
	- added configure check for header file 'asm/intrinsics.h' and
	  definition of '_IA64_REG_AR_ITC' which required to use the ITC timer
	  on IA64/Linux
	- added support for demangling of C++ names also if the header file
	  'demangle.h' is not available
	- do not build shared libraries on IBM BlueGene
	- replaced usage of PATH_MAX by VT_PATH_MAX to avoid compile errors
	  on some platforms
	- fixed compile error which occurred if support for enhanced time
	  synchronization enabled and using the Sun Performance Library from
	  Sun Studio 12
	- fixed compile error on RedHat/CentOS due to missing header include
	  of 'cctype.h' in the sources of 'vtunify'
	- fixed a bug in the compiler wrappers: add compiler flag '-I.' for
	  compiling OPARI modified sources in subdirectories in order to find
	  the corresponding OPARI include files
	- fixed a bug in the compiler wrappers for Fortran: do not mix C flags
	  (especially the pthread flag '-D_THREAD_SAFE' for IBM compilers) with
	  Fortran compiler flags
	- fixed faulty timer selection in configure
	  (the cycle counter timer is not available on all Linux platforms)
	- fixed detection of Sun Studio compilers on Linux
	  (related to the automatic instrumentation)
	- patch libtool to avoid a bug in detection of the Sun Studio Fortran
	  compiler
	- fixed missing definition of vt_node_id in vt_pform_sun
	- added wrapper for 'pthread_exit' for correct decomposition of the
	  call stack
	- fixed I/O calls not being affected by region filters
	- disabled recording of I/O events from within filtered out functions
	- disabled recording of MPI messages from within filtered out functions
	- check return value of MPI_Get_count in status handling

5.6.2
	- replaced all dots in library names by dashs in order to avoid a
	  naming problem in libtool and for more consistent
	- added dependencies to all necessary libraries (e.g. PAPI, BFD, etc.)
	  to the shared VT libraries
	- changed default of VT_PFORM_LDIR to '.' on SiCortex platforms
	- fixed use of gethostid() that may fail without error -> check return
	  value and retry
	- use 1 MB buffer for copying traces from local to global destination,
	  may be tuned by VT_COPY_BUFFER_SIZE

5.6.1
	- updated version of internal OTF to 1.5.1dolphin
	  (see extlib/otf/ChangeLog)
	- added support for building shared libraries
	- fixed compile error which occurred if configure was unable to find
	  MPI2 I/O support
	- fixed compile error due to missing header include in the sources of
	  the compiler wrappers
	- fixed faulty calculation of unique node id on SUN Solaris platforms
	- fixed compiler flags for building OPARI's table object file
	- fixed a bug which could prevent LIBC's I/O tracing

5.6
	- updated version of internal OTF to 1.5 (see extlib/otf/ChangeLog)
	- enhanced time synchronization
	- added support for MPI-2 extended collective operations
	- added support for recording statistics of MPI collective operations
	- added support for hardware performance counters on NEC SX platforms
	- added support for POSIX threads
	- extended user API to record user-defined markers
	- added wrapper for MPI function 'MPI_Init_thread'
	- fixed faulty calculation of sent/received bytes for MPI_Bcast

5.5.4
	- added support for OpenMP on BlueGene/P
	- fixed invalid conversion from 'const char*' to 'char*' in macro
	  'VT_TRACER'

5.5.3
	- updated version of internal OTF to 1.4.1 (see extlib/otf/ChangeLog)
	- added support for NEC MPI/SX Fortran 8-Byte Integers
	- added support for IBM BlueGene/P
	- added configure options '--with-sunmpi[-mt]' to set MPI libs for
	  SUN MPI
	- bugfix: added configure check for I/O functions functions 'fseeko()'
	  (this function is not available on NEC SX platforms)
	- fixed faulty shell comparison in configure which may cause an infinite
	  loop
	- fixed compile error: removed faulty header include for builds
	  without MPI support
	- fixed stack corios during intercepting I/O function 'unlink()'
	- fixed stack-level mismatch in regions with tracing disabled (VT_OFF)
	  in combination with MPI collective operations
	- fixed faulty handling of MPI_F_STATUS[ES]_IGNORE in MPI wrapper
	  functions

5.5.2
	- added wrapper for LIBC's I/O function 'unlink()'
	- fixed a bug in handling of OpenMP critical sections
	- fixed a bug in Fortran MPI wrappers: added conversion of MPI_Aint

5.5.1
	- added wrapper functions for 'wait()' and 'waitpid()'
	- improved tracing of 'fork()': automatic unifying of local traces
	- added support for Cray CNL
	- added option '-p' for vtunify to show a progress display during
	  unifying events
	- added configure options to specify the installed MPI-implementation
	  (e.g. the option '--with-mpich2' sets the MPI-libs for MPICH2)
	- fixed not-increasing timestamps during buffer flush
	  (occurred if memory allocation tracing was enabled)
	- fixed missing variable-declarations in Fortran MPI wrappers
	- fixed a bug in unique trace file naming which occurred when 'fork()'
	  used (child process gots a wrong unique file number)
	- fixed a bug in vtfilter where the tool dies when a counter appears
	  outside of function
	- enhancement to OPARI (see tools/opari/ChangeLog:15)

5.5
	- updated version of internal OTF to 1.4 (see extlib/otf/ChangeLog)
	- added support for automatic instrumentation by using PathScale
	  compiler (version 3.1 or higher required)
	- added support for recording function and message statistics
	- extended user API for enable/disable tracing
	- added wrapper functions for the complete MPI-1.2 standard,
	  MPI-2 One-Sided Communications, and MPI-2 I/O
	- added support for tracing resource usage via 'getrusage()'
	- added support for tracing 'fork()', 'system()', and 'exec' functions
	- added support for unique trace file naming 
	- added determining of executable's path, if VT_APPPATH not given
	  (currently that works *only* for linux, altix, macos, ibm, and sun)
	- set default trace file prefix to name of executable (from VT_APPPATH)
	- added support for CPC hardware performance counter
	- enhanced movement of the local temporary traces (VT_PFORM_LDIR) to
	  the global directory (VT_PFORM_GDIR), if both directories are on the
	  same device
	- added configure option (--with-cross-prefix) to set a prefix for the
	  "cross"-executables of the compiler wrappers (e.g. cross-vtcc)
	- added configure options (--with-wrapper-<cc|cxx|f77|f90>) to set the
	  default underlying compiler of the compiler wrappers
	- enhancement to OPARI (see tools/opari/ChangeLog:14)

5.4.5
	- updated version of internal OTF to 1.3.10 (see extlib/otf/ChangeLog)
	- fixed a bug for LIBC's I/O tracing: argument of 'fileno()' must be
	  a valid file stream
	- added configure option '--[enable|disable]-binaries' to control
	  building of binaries (useful for multi-lib installations)

5.4.4
	- updated version of internal OTF to 1.3.9 (see extlib/otf/ChangeLog)
	- fixed a portability bug: use own implementation of function
	  'strdup()'
	- removed variadic macros (they were introduced in C99)
	- fixed potential race condition by using OpenMP + LIBC's I/O tracing
	- fixed potential missing definition records by using OpenMP and the
	  maximum number of buffer flushes was reached
	- fixed a bug in the compiler wrappers: added check for SUN's OpenMP
	  compiler flag (-xopenmp)
	- fixed a bug for determining the timer-resolution for ITC
	- added process group definition for MPI communicator MPI_COMM_SELF
	- cleanup call stack when maximum number of flushes was reached
	- added configure check if we can link '-lz' in order to pass either
	  '-lotf -lz' or just '-lotf' as OTF link option
	- renamed configure's option '--with[out]-mpi-io' to
	  '[enable/disable]-mpi-io' for more consistent

5.4.3
	- bugfix for Fortran compiler wrappers (vtf77, vtf90):
	  OPARI's table source file (opari.tab.c) will be compiled
	  with the C compiler and flags which were given for VT's
	  configure (CC/CFLAGS)
	  (changeable in vt*-wrapper-data.txt)
	- bugfixes in vtunify:	- keep user's created process groups
				  for MPI communicators
				- reserve sorting of global process group
				  definitions

5.4.2
	- bugfix for VPATH builds
	- added configure check for PAPI version
	  (only support for version 3.x)

5.4.1
	- bugfix: added check for I/O functions which are a part of the large
	  file extensions (e.g. open64, creat64, ...); disable corresponding
	  wrapper functions, if system doesn't support these
	- added environment variable VT_DEMANGLE to enable/disable GNU
	  demangling of C++ names (default: disabled, due to a bug in older
	  versions of the GNU library 'liberty')
	- disabled support for I/O tracing on MacOS

5.4.0
	- updated version of internal OTF to 1.3.8 (see extlib/otf/ChangeLog)
	- added support for user-defined counters
	- if available, PAPI cycle counter can be used as timer
	  (see config.h after configure)
	- recording of events will be stopped if the maximum number of
	  buffer flushes (env. VT_MAX_FLUSHES) was reached
	- added support for LIBC's I/O tracing
	- improved autoconf's m4 scripts for cross buildings
	- default settings for the compiler wrappers will be stored
	  in share/vampirtrace/vt*-wrapper-data.txt
	- vtfilter: - direct filtering without second trace run
	            - parallelization using OpenMP

5.3.2
	- updated version of internal OTF to 1.3.7 (see extlib/otf/ChangeLog)
	- improved autoconf's m4 scripts for cross buildings
	- added support for VPATH builds

5.3.1
	- set default trace call limit for all regions/functions to 100000

5.3.0
	- updated version of internal OTF to 1.3.4 (see extlib/otf/ChangeLog)
	- added support for automatic instrumentation by using Intel compiler
	  version 10.x (uses new compiler flag '-finstrument-functions')
	- added support for binary instrumentation by using Dyninst
	- added support for GLIBC's memory allocation tracing
	  (see doc/UserManual*)
	- bugfix: corrected process id for OpenMP collective operations
	- changed default function/region group from 'USR' to 'Application'
	- if only MPI-functions are instrumented, then entry-record of
	  function 'user' will be generated before MPI_Init
	- added trace filter generator tool 'vtfilter'
	  (see doc/USAGE.vtfilter)
	- added support for multiple compiler-instrumentations from one
	  installation of VampirTrace (see INSTALL)
	- replaced vtinst, vtinst-pomp, and vtinst-dyn by VT's compiler
	  wrapper (see doc/UserManual* and doc/USAGE.compinst)
	- added simple example applications
	- changed install directory of documentations from '$prefix/info'
	  to '$prefix/share/vampirtrace/doc'
	- changed install directory of metrics-, filter-, and grouping
	  configuration from '$prefix/doc' to '$prefix/share/vampirtrace'

5.2.5
	- fixed potentially race condition by tracing OpenMP apps.
	- fixed some little memory leaks
	- fixed native counter issue on IA64 systems
	- added configure check for header files 'stdint.h' and 'inttypes.h';
	  if none of these files found, then own integer types will be defined

5.2.4
	- updated version of internal OTF to 1.2.19 (see extlib/otf/ChangeLog)
	- fixed compile error which occurred by using old SUN compilers
	- added a configure summary
	- added HP MPI support
	- renamed Fortran MPI wrapper library to 'libvt.fmpi' to avoid possible
	  name conflicts
	- fixed a bug (integer overflow) in mechanism for getting timer on
	  Linux systems

5.2.3
	- changed install directory of documentations from 'doc' to 'info'
	  (adjustable by configure option '--infodir')
	- forward configure options '--exec-prefix', '--bindir', '--libdir', ',
	  '--includedir', and '--infodir' to configure command of internal OTF
	- added configure check for CPP-Style Fortran preprocessor of gfortran
	- added configure check for location of 'mmtimer.h'
	- made sure that peers of events (e.g. msg. send enter + msg. send)
	  have the same timestamp
	- clock synchronization can be forced
	  (see config.h after configure)

5.2.2
	- fixed a bug in region filter which occurred by tracing OpenMP apps.
	  instrumented by compiler (vtinst)
	- added option '-k' for vtunify to keep input trace files

5.2.1
	- fixed several performance issues
	- improved mechanism for getting clock cycles on IBM PPC64 machines
	- the user can specify the mechanism which used for getting timer
	  (only for Linux, SGI Altix, IBM AIX, Cray X1
	   - see config.h after configure)

5.2.0
	- updated version of internal OTF to 1.2.18 (see extlib/otf/ChangeLog)
	- replaced build system by GNU Autoconf/Automake
	- changed base name (e.g. environment variables, source files) to VT...
	  (see doc/USAGE)
	- added OpenMP support by using OPARI instrumentation tool
	- write process group records which contain the location of processes
	  (node name)
	- added tool 'vtconfig' to simplify determining the right compiler and
	  linker flags

5.1.7
	- updated version of internal OTF to 1.2.13

5.1.6
	- updated version of internal OTF to 1.2.11
	- fixed a bug: record the REAL buffer-length of a MPI non-blocking 
	  receive operation
	- added wrapper for MPI function 'MPI_Probe'
	- added Open MPI support
	- added a simple "configure" command
	  (see INSTALL)

5.1.5
	- fixed a bug in elg_otfunify time synchronization

5.1.4
	- updated version of internal OTF to 1.1.9
	- fixed a bug in elg_otfunify which occurred if compiled with PGI
	  and used OMP parallelization
	- enhanced progress display of elg_otfunify

5.1.3
	- fixed little bugs in build system which occurred if multiple
	  mode building used (Makefile.32-64)
	- added support for clusters of IBM Power3/4 machines
	  and Linux PPC cluster with IBM compilers

5.1.2
	- updated version of internal OTF to 1.1.8

5.1.1
	- write list of filtered regions to file (*.x.filt)
	- specified flags of 'ar' in Makefile.defs (AFLAG) will
	  be assign to internal OTF configure script

5.1.0
	- counter event record will be wrote before leave event record
	- added region filter and grouping managment

5.0.6
	- added creator informations of trace file (tracelib, version, date
	  and time)
	- reduced offset of process group token
	- improved name of process groups

5.0.5
	- fixed a bug in elg_otfunify which occurred if the environment
	  variable ELG_PFORM_DIR was set

5.0.4
	- fixed a bug which occurred on Opteron systems (faulty timestamps)
	- made sure that the ids of process groups and processes are
	  different (for analyzing trace files)

5.0.3
	- updated version of internal OTF to 1.1.5
	- fixed a bug in GNU compiler interface which might have caused
	  a segmentation fault during flushing the trace buffer

5.0.2
	- updated version of internal OTF to 1.1.4

5.0.1
	- updated version of internal OTF to 1.1.3

5.0.0
	- initial version
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.