diff --git a/ompi/contrib/vt/vt/ChangeLog b/ompi/contrib/vt/vt/ChangeLog index 71e5093e7a..4bef4d85d5 100644 --- a/ompi/contrib/vt/vt/ChangeLog +++ b/ompi/contrib/vt/vt/ChangeLog @@ -3,6 +3,12 @@ (see extlib/otf/ChangeLog) - improved filtering of CUDA kernels - 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 5.11 - updated version of internal OTF to 1.9sawfish diff --git a/ompi/contrib/vt/vt/config/m4/acinclude.zlib.m4 b/ompi/contrib/vt/vt/config/m4/acinclude.zlib.m4 index 65d325fbeb..f024ecff88 100644 --- a/ompi/contrib/vt/vt/config/m4/acinclude.zlib.m4 +++ b/ompi/contrib/vt/vt/config/m4/acinclude.zlib.m4 @@ -63,7 +63,10 @@ AC_DEFUN([ACVT_ZLIB], ]) AS_IF([test x"$ZLIBLIB" != x -a x"$zlib_error" = "xno"], - [have_zlib="yes"]) + [ + have_zlib="yes" + AC_DEFINE([HAVE_ZLIB], [1], [Define to 1 if you have the ZLIB.]) + ]) AS_IF([test x"$force_zlib" = "xyes" -a x"$zlib_error" = "xyes"], [exit 1]) diff --git a/ompi/contrib/vt/vt/config/mpigen/mk_c_wrapper.sh.in b/ompi/contrib/vt/vt/config/mpigen/mk_c_wrapper.sh.in index f3a5b3c32f..f3a7111d80 100644 --- a/ompi/contrib/vt/vt/config/mpigen/mk_c_wrapper.sh.in +++ b/ompi/contrib/vt/vt/config/mpigen/mk_c_wrapper.sh.in @@ -11,8 +11,8 @@ have_mpi2_1sided=@VT_MPIGEN_HAVE_MPI2_1SIDED@ have_mpi2_extcoll=@VT_MPIGEN_HAVE_MPI2_EXTCOLL@ have_mpi2_file=@VT_MPIGEN_HAVE_MPI2_IO@ have_mpi2_proc=0 #@VT_MPIGEN_HAVE_MPI2_PROC@ -have_mpi2_proc=0 #@VT_MPIGEN_HAVE_MPI2_PROC@ -if [ $have_mpi2_thread -o $have_mpi2_1sided -o $have_mpi2_extcoll -o $have_mpi2_proc ] ; then +have_mpi2=0 +if [ $have_mpi2_thread = 1 -o $have_mpi2_1sided = 1 -o $have_mpi2_extcoll = 1 -o $have_mpi2_proc = 1 ] ; then have_mpi2=1 fi mpi2_src1=""; if [ $have_mpi2 = 1 ] ; then mpi2_src1="mpi2_standard.h"; fi diff --git a/ompi/contrib/vt/vt/config/mpigen/mk_fortran_wrapper.sh.in b/ompi/contrib/vt/vt/config/mpigen/mk_fortran_wrapper.sh.in index 0ec7a3566a..15c0505060 100644 --- a/ompi/contrib/vt/vt/config/mpigen/mk_fortran_wrapper.sh.in +++ b/ompi/contrib/vt/vt/config/mpigen/mk_fortran_wrapper.sh.in @@ -23,8 +23,8 @@ have_mpi2_1sided=@VT_MPIGEN_HAVE_MPI2_1SIDED@ have_mpi2_extcoll=@VT_MPIGEN_HAVE_MPI2_EXTCOLL@ have_mpi2_file=@VT_MPIGEN_HAVE_MPI2_IO@ have_mpi2_proc=0 #@VT_MPIGEN_HAVE_MPI2_PROC@ -have_mpi2_proc=0 #@VT_MPIGEN_HAVE_MPI2_PROC@ -if [ $have_mpi2_thread -o $have_mpi2_1sided -o $have_mpi2_extcoll -o $have_mpi2_proc ] ; then +have_mpi2=0 +if [ $have_mpi2_thread = 1 -o $have_mpi2_1sided = 1 -o $have_mpi2_extcoll = 1 -o $have_mpi2_proc = 1 ] ; then have_mpi2=1 fi mpi2_src1=""; if [ $have_mpi2 = 1 ] ; then mpi2_src1="mpi2_standard.h"; fi diff --git a/ompi/contrib/vt/vt/config/mpigen/mk_registry.sh.in b/ompi/contrib/vt/vt/config/mpigen/mk_registry.sh.in index 88df1db0b1..8a59b5149a 100644 --- a/ompi/contrib/vt/vt/config/mpigen/mk_registry.sh.in +++ b/ompi/contrib/vt/vt/config/mpigen/mk_registry.sh.in @@ -11,7 +11,8 @@ have_mpi2_1sided=@VT_MPIGEN_HAVE_MPI2_1SIDED@ have_mpi2_extcoll=@VT_MPIGEN_HAVE_MPI2_EXTCOLL@ have_mpi2_file=@VT_MPIGEN_HAVE_MPI2_IO@ have_mpi2_proc=0 #@VT_MPIGEN_HAVE_MPI2_PROC@ -if [ $have_mpi2_thread -o $have_mpi2_1sided -o $have_mpi2_extcoll -o $have_mpi2_proc ] ; then +have_mpi2=0 +if [ $have_mpi2_thread = 1 -o $have_mpi2_1sided = 1 -o $have_mpi2_extcoll = 1 -o $have_mpi2_proc = 1 ] ; then have_mpi2=1 fi mpi2_src1=""; if [ $have_mpi2 = 1 ] ; then mpi2_src1="mpi2_standard.h"; fi diff --git a/ompi/contrib/vt/vt/config/mpigen/mpi_standard.h b/ompi/contrib/vt/vt/config/mpigen/mpi_standard.h index 099bfadd73..728a5b6cea 100644 --- a/ompi/contrib/vt/vt/config/mpigen/mpi_standard.h +++ b/ompi/contrib/vt/vt/config/mpigen/mpi_standard.h @@ -40,8 +40,8 @@ VT_MPI_INT MPI_Address(void* location, MPI_Aint* address_CLASS_SINGLE_OUT); VT_MPI_INT MPI_Allgather(void* sendbuf_CLASS_BUFFER_IN_PLACE, VT_MPI_INT sendcount, MPI_Datatype sendtype, void* recvbuf_CLASS_BUFFER, VT_MPI_INT recvcount, MPI_Datatype recvtype, MPI_Comm comm); /*COLL_ALL2ALL*/ VT_MPI_INT MPI_Allgatherv(void* sendbuf_CLASS_BUFFER_IN_PLACE, VT_MPI_INT sendcount, MPI_Datatype sendtype, void* recvbuf_CLASS_BUFFER, VT_MPI_INT* recvcounts, VT_MPI_INT* displs, MPI_Datatype recvtype, MPI_Comm comm); /*COLL_ALL2ALL*/ VT_MPI_INT MPI_Allreduce(void* sendbuf_CLASS_BUFFER_IN_PLACE, void* recvbuf_CLASS_BUFFER, VT_MPI_INT count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); /*COLL_ALL2ALL*/ -VT_MPI_INT MPI_Alltoall(void* sendbuf_CLASS_BUFFER_IN_PLACE, VT_MPI_INT sendcount, MPI_Datatype sendtype, void* recvbuf_CLASS_BUFFER, VT_MPI_INT recvcount, MPI_Datatype recvtype, MPI_Comm comm); /*COLL_ALL2ALL*/ -VT_MPI_INT MPI_Alltoallv(void* sendbuf_CLASS_BUFFER_IN_PLACE, VT_MPI_INT* sendcounts, VT_MPI_INT* sdispls, MPI_Datatype sendtype, void* recvbuf_CLASS_BUFFER, VT_MPI_INT* recvcounts, VT_MPI_INT* rdispls, MPI_Datatype recvtype, MPI_Comm comm); /*COLL_ALL2ALL*/ +VT_MPI_INT MPI_Alltoall(void* sendbuf_CLASS_BUFFER, VT_MPI_INT sendcount, MPI_Datatype sendtype, void* recvbuf_CLASS_BUFFER, VT_MPI_INT recvcount, MPI_Datatype recvtype, MPI_Comm comm); /*COLL_ALL2ALL*/ +VT_MPI_INT MPI_Alltoallv(void* sendbuf_CLASS_BUFFER, VT_MPI_INT* sendcounts, VT_MPI_INT* sdispls, MPI_Datatype sendtype, void* recvbuf_CLASS_BUFFER, VT_MPI_INT* recvcounts, VT_MPI_INT* rdispls, MPI_Datatype recvtype, MPI_Comm comm); /*COLL_ALL2ALL*/ VT_MPI_INT MPI_Attr_delete(MPI_Comm comm, VT_MPI_INT keyval); VT_MPI_INT MPI_Attr_get(MPI_Comm comm, VT_MPI_INT keyval, void* attribute_val, VT_MPI_INT* flag); VT_MPI_INT MPI_Attr_put(MPI_Comm comm, VT_MPI_INT keyval, void* attribute_val); @@ -129,8 +129,8 @@ VT_MPI_INT MPI_Request_free(MPI_Request* request_CLASS_SINGLE_IO); VT_MPI_INT MPI_Rsend(void* buf_CLASS_BUFFER, VT_MPI_INT count, MPI_Datatype datatype, VT_MPI_INT dest, VT_MPI_INT tag, MPI_Comm comm); VT_MPI_INT MPI_Rsend_init(void* buf_CLASS_BUFFER, VT_MPI_INT count, MPI_Datatype datatype, VT_MPI_INT dest, VT_MPI_INT tag, MPI_Comm comm, MPI_Request* request_CLASS_SINGLE_OUT); VT_MPI_INT MPI_Scan(void* sendbuf_CLASS_BUFFER_IN_PLACE, void* recvbuf_CLASS_BUFFER, VT_MPI_INT count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); /*COLL_OTHER*/ -VT_MPI_INT MPI_Scatter(void* sendbuf_CLASS_BUFFER_IN_PLACE, VT_MPI_INT sendcount, MPI_Datatype sendtype, void* recvbuf_CLASS_BUFFER, VT_MPI_INT recvcount, MPI_Datatype recvtype, VT_MPI_INT root, MPI_Comm comm); /*COLL_ONE2ALL*/ -VT_MPI_INT MPI_Scatterv(void* sendbuf_CLASS_BUFFER_IN_PLACE, VT_MPI_INT* sendcounts, VT_MPI_INT* displs, MPI_Datatype sendtype, void* recvbuf_CLASS_BUFFER, VT_MPI_INT recvcount, MPI_Datatype recvtype, VT_MPI_INT root, MPI_Comm comm); /*COLL_ONE2ALL*/ +VT_MPI_INT MPI_Scatter(void* sendbuf_CLASS_BUFFER, VT_MPI_INT sendcount, MPI_Datatype sendtype, void* recvbuf_CLASS_BUFFER_IN_PLACE, VT_MPI_INT recvcount, MPI_Datatype recvtype, VT_MPI_INT root, MPI_Comm comm); /*COLL_ONE2ALL*/ +VT_MPI_INT MPI_Scatterv(void* sendbuf_CLASS_BUFFER, VT_MPI_INT* sendcounts, VT_MPI_INT* displs, MPI_Datatype sendtype, void* recvbuf_CLASS_BUFFER_IN_PLACE, VT_MPI_INT recvcount, MPI_Datatype recvtype, VT_MPI_INT root, MPI_Comm comm); /*COLL_ONE2ALL*/ VT_MPI_INT MPI_Send(void* buf_CLASS_BUFFER, VT_MPI_INT count, MPI_Datatype datatype, VT_MPI_INT dest, VT_MPI_INT tag, MPI_Comm comm); VT_MPI_INT MPI_Send_init(void* buf_CLASS_BUFFER, VT_MPI_INT count, MPI_Datatype datatype, VT_MPI_INT dest, VT_MPI_INT tag, MPI_Comm comm, MPI_Request* request_CLASS_SINGLE_OUT); VT_MPI_INT MPI_Sendrecv(void* sendbuf_CLASS_BUFFER, VT_MPI_INT sendcount, MPI_Datatype sendtype, VT_MPI_INT dest, VT_MPI_INT sendtag, void* recvbuf_CLASS_BUFFER, VT_MPI_INT recvcount, MPI_Datatype recvtype, VT_MPI_INT source, VT_MPI_INT recvtag, MPI_Comm comm, MPI_Status* status_CLASS_SINGLE_OUT); diff --git a/ompi/contrib/vt/vt/doc/UserManual.html b/ompi/contrib/vt/vt/doc/UserManual.html index 38295f73ee..fdafaf2ba9 100644 --- a/ompi/contrib/vt/vt/doc/UserManual.html +++ b/ompi/contrib/vt/vt/doc/UserManual.html @@ -66,7 +66,7 @@ BODY { font-family: sans-serif; }

-VampirTrace 5.11 User Manual +VampirTrace 5.11.1 User Manual


@@ -252,20 +252,20 @@ OpenMP events, and performance counters.

After a successful tracing run, VampirTrace writes all collected data to a trace file in the Open Trace Format (OTF)[*][*]. As a result, the information is available for post-mortem analysis and visualization by various tools. Most notably, VampirTrace provides the input data for the Vampir analysis and visualization tool[*][*].

VampirTrace is included in OpenMPI 1.3 and later versions. If not disabled explicitly, VampirTrace is built automatically when installing OpenMPI[*][*].

@@ -1083,7 +1083,7 @@ in a single file, that The names in between may contain wildcards as ``?'', ``*', and ``#'', each entry gets a new line. The lists end with END[_FILE]_<INCLUDE|EXCLUDE>_LIST. For further information on selective profiling have a look at the TAU documentation[*][*]. To announce the file through the compiler wrapper use the option -vt:tau:

@@ -1100,7 +1100,7 @@ Binary Instrumentation Using Dyninst
 The option -vt:inst dyninst is used with the compiler wrapper to 
 instrument the application during runtime (binary instrumentation), by using 
 Dyninst[*][*].
 Recompiling is not necessary for this kind of instrumentation,
 but relinking:
@@ -1820,7 +1820,7 @@ for the enhanced timer synchronization: