1
1

- fixed bug in Fortran MPI wrappers: added conversion for the MPI Fortran constants MPI_BOTTOM and MPI_IN_PLACE

- 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.
Этот коммит содержится в:
Matthias Jurenz 2009-07-15 10:38:10 +00:00
родитель 03e6a117c5
Коммит 77b397895c
16 изменённых файлов: 233 добавлений и 3845 удалений

Просмотреть файл

@ -3,21 +3,13 @@
+++ IBM Regatta p690+ (Research Centre Juelich)
./configure AR="ar -X32_64" CC=xlc_r CFLAGS="-O2 -g -q64" CXX=xlC_r CXXFLAGS="-O2 -g -q64" F77=xlf_r FFLAGS="-O2 -g -q64" FC=xlf90_r FCFLAGS="-O2 -g -q64" MPICC=mpcc_r --with-mpi-dir=/usr/lpp/ppe.poe --with-papi-dir=/usr/local/beta/papi --with-papi-lib=-lpapi64
+++ BlueGene/L (Research Centre Juelich)
./configure --with-otf-extra-opts="--with-zlib --with-zlib-dir=<zlib-dir>" --build=powerpc64-unknown-linux-gnu --host=powerpc64-ibm-linux CC=blrts_xlc CFLAGS=-O2 CXX=blrts_xlC CXXFLAGS=-O2 F77=blrts_xlf90 FC=blrts_xlf90 CXX_FOR_BUILD=xlC_r MPICC=mpicc.ibm-8.0 --with-otf-lib="-lotf -L<zlibdir> -lz" --with-mpi-dir=/bgl/BlueLight/ppcfloor/bglsys --with-mpi-lib=-lmpich.rts --with-pmpi-lib=-lmpich.rts --with-fmpi-lib=-lfmpich.rts --disable-iotrace --with-papi-dir=/usr/local/papi/papi-3.5.0 --with-papi-lib="-lpapi.rts -lbgl_perfctr.rts"
+++ BlueGene/L (University of Edinburgh)
./configure CC=blrts_xlc CFLAGS="-O2 -g" CXX=blrts_xlC CXXFLAGS="-O2 -g" F77=blrts_xlf90 FC=blrts_xlf90 CXX_FOR_BUILD=xlC_r MPICC=mpixlc --build=powerpc64-unknown-linux-gnu --host=powerpc64-ibm-linux --with-otf-lib=-lotf --with-mpi-dir=/bgl/BlueLight/ppcfloor/bglsys --with-mpi-lib=-lmpich.rts --with-pmpi-lib=-lmpich.rts --with-fmpi-lib=-lfmpich.rts
./configure AR="ar -X32_64" CC=xlc_r CFLAGS="-O2 -g -q64" CXX=xlC_r CXXFLAGS="-O2 -g -q64" F77=xlf_r FFLAGS="-O2 -g -q64" FC=xlf90_r FCFLAGS="-O2 -g -q64" --with-papi-dir=/usr/local/beta/papi --with-papi-lib=-lpapi64
+++ NEC SX-8 (High Performance Computing Center Stuttgart)
./configure CC=sxcc CXX=sxc++ F77=sxf90 FC=sxf90 AR=sxar MPICC=sxmpicc CXX_FOR_BUILD=c++ RANLIB="sxar st" OMPFLAG=-Popenmp --build=ia64-unknown-linux-gnu --host=sx8-nec-superux15.1 --with-otf-lib=-lotf
./configure CC=sxcc CXX=sxc++ F77=sxf90 FC=sxf90 AR=sxar CXX_FOR_BUILD=c++ RANLIB="sxar st" OMPFLAG=-Popenmp --build=ia64-unknown-linux-gnu --host=sx8-nec-superux15.1 --with-otf-lib=-lotf
+++ Sun Fire E6900 (RWTH Aachen)
./configure CC=cc CXX=CC F77=f90 F90=f90 CFLAGS="-xtarget=ultra4 -fast -xarch=v9a" CXXFLAGS="-xtarget=ultra4 -fast -xarch=v9a" FCFLAGS="-xtarget=ultra4 -fast -xarch=v9a" FFLAGS="-xtarget=ultra4 -fast -xarch=v9a" --with-mpi-lib=-lmpi_mt --with-pmpi-lib=-lmpi_mt --enable-fmpi-lib
./configure CC=cc CXX=CC F77=f90 F90=f90 CFLAGS="-xtarget=ultra4 -fast -xarch=v9a" CXXFLAGS="-xtarget=ultra4 -fast -xarch=v9a" FCFLAGS="-xtarget=ultra4 -fast -xarch=v9a" FFLAGS="-xtarget=ultra4 -fast -xarch=v9a"

Просмотреть файл

@ -1,3 +1,13 @@
5.4.10
- reduced list of supported MPI implementations to Open MPI
(support for other MPI implementations are available in the latest
stand-alone release of VampirTrace;
see http://www.tu-dresden.de/zih/vampirtrace/)
- changed meaning of configure option '--with-openmpi': this option
indicates an Open MPI internal build
- fixed a bug in Fortran MPI wrappers: added conversion for MPI_BOTTOM
and MPI_IN_PLACE
5.4.9
- updated version of internal OTF to 1.3.12 (see extlib/otf/ChangeLog)
- added support for cycle counter timer on Alpha and Sparc platforms

Просмотреть файл

@ -58,7 +58,7 @@ How to install and configure VampirTrace
instrumentation type for the compiler-wrapper
--enable-mpi enable MPI support, default: enable if
MPI-installation found by configure
Open MPI found by configure
--enable-omp enable OpenMP support, default: enable if given
compiler supports OpenMP
@ -79,11 +79,6 @@ How to install and configure VampirTrace
--enable-papi enable PAPI hardware counter support, default:
enable if found by configure
If your system does not have a MPI Fortran library, set
--enable-fmpi-lib build MPI Fortran support library, default: enable
if no MPI Fortran library found by configure
* Important Optional Packages
@ -128,14 +123,9 @@ How to install and configure VampirTrace
give the path for MPI-libraries, default:
MPIDIR/lib
--with-mpi-lib use given mpi lib
--with-mpi-lib=MPILIB use given mpi lib
--with-pmpi-lib use given pmpi lib
If your system does not have a MPI Fortran library,
set '--enable-fmpi-lib' (see above), otherwise set
--with-fmpi-lib use given fmpi lib
--with-pmpi-lib=PMPILIB use given pmpi lib, default MPILIB
Set up the Environment

Просмотреть файл

@ -8,7 +8,7 @@
major=5
minor=4
release=9
release=10
# greek is used for alpha or beta release tags. If it is non-empty,
# it will be appended to the version number. It does not have to be

Просмотреть файл

@ -405,10 +405,6 @@ AC_DEFUN([ACVT_CONF_SUMMARY],
[answer="yes"], [answer="no"])
echo " Build MPI support: $answer"
AS_IF([test x"$build_fmpi" = "xyes"],
[answer="yes"], [answer="no"])
echo " Build Fortran MPI wrapper library: $answer"
AS_IF([test x"$build_omp" = "xyes"],
[answer="yes"], [answer="no"])
echo " Build OpenMP support: $answer"
@ -967,8 +963,7 @@ AC_DEFUN([ACVT_MEMHOOKS],
AC_DEFUN([ACVT_MPI],
[
mpi_error="no"
mpi_status_size=
have_mpithrd=
openmpi="no"
have_mpio=
MPIDIR=
@ -998,404 +993,125 @@ AC_DEFUN([ACVT_MPI],
[AS_IF([test x"$MPIDIR" != x], [MPILIBDIR="-L$MPIDIR"lib/])])
AC_ARG_WITH(mpi-lib,
AC_HELP_STRING([--with-mpi-lib], [use given mpi lib]),
AC_HELP_STRING([--with-mpi-lib=MPILIB], [use given mpi lib]),
[MPILIB="$withval"])
AC_ARG_WITH(pmpi-lib,
AC_HELP_STRING([--with-pmpi-lib], [use given pmpi lib]),
AC_HELP_STRING([--with-pmpi-lib=PMPILIB], [use given pmpi lib, default: MPILIB]),
[PMPILIB="$withval"])
AC_ARG_WITH(fmpi-lib,
AC_HELP_STRING([--with-fmpi-lib], [use given fmpi lib]),
[FMPILIB="$withval"])
AC_ARG_WITH(mpi-status-size,
AC_HELP_STRING([--with-mpi-status-size],
[give the value of MPI_STATUS_SIZE, default: automatically by configure]),
[
AS_IF([test x"$withval" = "x" -o x"$withval" = "xyes" -o x"$withval" = "xno"],
[AC_MSG_ERROR([value of '--with-mpi-status-size' not properly set])],
[mpi_status_size=$withval])
])
AC_ARG_ENABLE(mpi-thread,
AC_HELP_STRING(--enable-mpi-thread,
[MPI supports threads, default: yes if found by configure]),
[AS_IF([test x"$enableval" = "xyes"], [have_mpithrd=yes], [have_mpithrd=no])])
AC_ARG_WITH(openmpi,
AC_HELP_STRING([--with-openmpi], [configure for building in Open MPI]),
[AS_IF([test x"$withval" = "xyes"], [openmpi="yes"])])
AC_ARG_ENABLE(mpi-io,
AC_HELP_STRING(--enable-mpi-io,
[MPI supports file access, default: yes if found by configure]),
[AS_IF([test x"$enableval" = "xyes"], [have_mpio=yes], [have_mpio=no])])
[AS_IF([test x"$enableval" = "xyes"], [have_mpio="yes"], [have_mpio="no"])])
AC_ARG_ENABLE(fmpi-lib,
AC_HELP_STRING([--enable-fmpi-lib],
[build MPI Fortran support library, default: enable if no MPI Fortran library found by configure]),
[AS_IF([test x"$enableval" = "xyes"], [FMPILIB="-lvt.fmpi"; build_fmpi="yes"])])
AC_ARG_WITH(mpi-native,
AC_HELP_STRING([--with-mpi-native], [configure for computer manufacturer MPI]),
[
AS_IF([test x"$MPILIB" = x], [MPILIB="-lmpi"])
AS_IF([test x"$PMPILIB" = x], [PMPILIB="$MPILIB"])
AS_IF([test x"$FMPILIB" = x], [FMPILIB="-lvt.fmpi"])
build_fmpi="yes"
])
AC_ARG_WITH(mpich,
AC_HELP_STRING([--with-mpich], [configure for MPICH]),
[
AS_IF([test x"$MPILIB" = x], [MPILIB="-lmpich"])
AS_IF([test x"$PMPILIB" = x], [PMPILIB="-lpmpich $MPILIB"])
AS_IF([test x"$FMPILIB" = x], [FMPILIB="-lfmpich"])
MPICFLAGS="$MPICFLAGS -DMPICH_IGNORE_CXX_SEEK"
])
AC_ARG_WITH(mpich2,
AC_HELP_STRING([--with-mpich2], [configure for MPICH2]),
[
AS_IF([test x"$MPILIB" = x], [MPILIB="-lmpich"])
AS_IF([test x"$PMPILIB" = x], [PMPILIB="$MPILIB"])
AS_IF([test x"$FMPILIB" = x], [FMPILIB="-lfmpich"])
MPICFLAGS="$MPICFLAGS -DMPICH_IGNORE_CXX_SEEK"
])
AC_ARG_WITH(lam,
AC_HELP_STRING([--with-lam], [configure for LAM/MPI]),
[
AS_IF([test x"$MPILIB" = x], [MPILIB="-lmpi -llam"])
AS_IF([test x"$PMPILIB" = x], [PMPILIB="$MPILIB"])
AS_IF([test x"$FMPILIB" = x], [FMPILIB="-llamf77mpi"])
])
AC_ARG_WITH(openmpi,
AC_HELP_STRING([--with-openmpi], [configure for Open MPI]),
[
AS_IF([test x"$MPILIB" = x], [MPILIB="-lmpi"])
AS_IF([test x"$PMPILIB" = x], [PMPILIB="$MPILIB"])
AS_IF([test x"$FMPILIB" = x], [FMPILIB="-lvt.fmpi"])
have_mpithrd="yes"
build_fmpi="yes"
])
AC_ARG_WITH(hpmpi,
AC_HELP_STRING([--with-hpmpi], [configure for HP MPI]),
[
AS_IF([test x"$MPILIB" = x], [MPILIB="-lmtmpi"])
AS_IF([test x"$PMPILIB" = x], [PMPILIB="-lmtpmpi"])
AS_IF([test x"$FMPILIB" = x], [FMPILIB="-lvt.fmpi"])
build_fmpi="yes"
])
AC_ARG_WITH(intelmpi,
AC_HELP_STRING([--with-intelmpi], [configure for Intel MPI]),
[
AS_IF([test x"$MPILIB" = x], [MPILIB="-lmpi"])
AS_IF([test x"$PMPILIB" = x], [PMPILIB="$MPILIB"])
AS_IF([test x"$FMPILIB" = x], [FMPILIB="-lmpiif"])
])
AC_ARG_WITH(intelmpi2,
AC_HELP_STRING([--with-intelmpi2], [configure for Intel MPI2]),
[
AS_IF([test x"$MPILIB" = x], [MPILIB="-lmpi"])
AS_IF([test x"$PMPILIB" = x], [PMPILIB="$MPILIB"])
AS_IF([test x"$FMPILIB" = x], [FMPILIB="-lmpiif"])
])
AC_CHECK_PROGS(MPICC, mpicc hcc mpcc mpcc_r mpxlc mpixlc cmpicc mpiicc)
AS_IF([test x"$MPICC" != x],
AS_IF([test "$openmpi" = "yes"],
[
mpicc=`echo $MPICC | cut -d ' ' -f 1`
which_mpicc=`which $mpicc 2>/dev/null`
AS_IF([test x"$which_mpicc" = x], [AC_MSG_ERROR([$mpicc not found!])])
mpi_bin_dir=`dirname $which_mpicc`
AS_IF([test "$mpi_bin_dir" != "/usr/bin"],
[
AS_IF([test x"$MPIDIR" = x],
[MPIDIR=`echo $mpi_bin_dir | sed -e 's/bin//'`])
AS_IF([test x"$MPIINCDIR" = x],
[MPIINCDIR=-I`echo $mpi_bin_dir | sed -e 's/bin/include/'`])
AS_IF([test x"$MPILIBDIR" = x],
[MPILIBDIR=-L`echo $mpi_bin_dir | sed -e 's/bin/lib/'`])
])
MPICC="$CC"
MPIINCDIR="-I$top_vt_builddir/../../../include"
MPILIB="-lmpi"
AS_IF([test x"$have_mpio" = x], [have_mpio="yes"])
AC_MSG_NOTICE([skipped further tests for MPI])
],
[
sav_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $MPIINCDIR"
AC_CHECK_HEADER([mpi.h], [MPICC="$CC"],
AC_CHECK_PROGS(MPICC, mpicc hcc mpcc mpcc_r mpxlc mpixlc cmpicc mpiicc)
AS_IF([test x"$MPICC" != x],
[
AC_MSG_NOTICE([error: no mpi.h found; check path for MPI package first...])
mpi_error="yes"
])
CPPFLAGS=$sav_CPPFLAGS
])
mpicc=`echo $MPICC | cut -d ' ' -f 1`
which_mpicc=`which $mpicc 2>/dev/null`
AS_IF([test x"$which_mpicc" = x], [AC_MSG_ERROR([$mpicc not found!])])
dnl check for MPILIB
AS_IF([test x"$MPILIB" = x -a "$mpi_error" = "no"],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -lmpich"
AC_MSG_CHECKING([whether linking with -lmpich works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); MPILIB=-lmpich],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
AS_IF([test x"$MPILIB" != x],
[MPICFLAGS="$MPICFLAGS -DMPICH_IGNORE_CXX_SEEK"])
])
AS_IF([test x"$MPILIB" = x -a "$mpi_error" = "no"],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -lmpichg2"
AC_MSG_CHECKING([whether linking with -lmpichg2 works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); MPILIB=-lmpichg2],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
AS_IF([test x"$MPILIB" != x],
[MPICFLAGS="$MPICFLAGS -DMPICH_IGNORE_CXX_SEEK"])
])
AS_IF([test x"$MPILIB" = x -a "$mpi_error" = "no"],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -lhpmpi"
AC_MSG_CHECKING([whether linking with -lhpmpi works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); MPILIB=-lhpmpi],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
AS_IF([test x"$MPILIB" != x],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -lmtmpi"
AC_MSG_CHECKING([whether linking with -lmtmpi works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); MPILIB=-lmtmpi],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
])
])
AS_IF([test x"$MPILIB" = x -a "$mpi_error" = "no"],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -lmpi"
AC_MSG_CHECKING([whether linking with -lmpi works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); MPILIB=-lmpi],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
AS_IF([test x"$MPILIB" != x],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -llam"
AC_MSG_CHECKING([whether linking with -llam works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); MPILIB="-lmpi -llam"],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
])
])
AS_IF([test x"$MPILIB" = x -a "$mpi_error" = "no"],
[
AC_MSG_NOTICE([error: no libhpmpi, libmpich, libmpi, or liblam found; check path for MPI package first...])
mpi_error="yes"
])
dnl check for PMPILIB
AS_IF([test x"$PMPILIB" = x -a "$mpi_error" = "no"],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -lpmpich"
AC_MSG_CHECKING([whether linking with -lpmpich works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); PMPILIB=-lpmpich],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
])
AS_IF([test x"$PMPILIB" = x -a "$mpi_error" = "no"],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -lpmpichg2"
AC_MSG_CHECKING([whether linking with -lpmpichg2 works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); PMPILIB=-lpmpichg2],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
])
AS_IF([test x"$PMPILIB" = x -a "$mpi_error" = "no"],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -lpmpi"
AC_MSG_CHECKING([whether linking with -lpmpi works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); PMPILIB=-lpmpi],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
AS_IF([test x"$PMPILIB" != x],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -lmtpmpi"
AC_MSG_CHECKING([whether linking with -lmtpmpi works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); PMPILIB=-lmtpmpi],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
])
])
AS_IF([test x"$PMPILIB" = x -a "$mpi_error" = "no"],
[
PMPILIB="$MPILIB"
AC_MSG_WARN([no libpmpich, or libpmpi found; assuming $MPILIB])
])
dnl check for FMPILIB
AS_IF([test x"$FMPILIB" = x -a "$mpi_error" = "no"],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -lfmpich"
AC_MSG_CHECKING([whether linking with -lfmpich works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); FMPILIB=-lfmpich],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
])
AS_IF([test x"$FMPILIB" = x -a "$mpi_error" = "no"],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -llamf77mpi"
AC_MSG_CHECKING([whether linking with -llamf77mpi works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); FMPILIB=-llamf77mpi],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
])
AS_IF([test x"$FMPILIB" = x -a "$mpi_error" = "no"],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -lmpiif"
AC_MSG_CHECKING([whether linking with -lmpiif works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); FMPILIB=-lmpiif],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
])
AS_IF([test x"$FMPILIB" = x -a "$mpi_error" = "no"],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -lfmpi"
AC_MSG_CHECKING([whether linking with -lfmpi works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); FMPILIB=-lfmpi],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
])
AS_IF([test x"$FMPILIB" = x -a "$mpi_error" = "no"],
[
FMPILIB="-lvt.fmpi"
build_fmpi="yes"
AC_MSG_WARN([no libfmpich, liblamf77mpi, libfmpi, or libmpiif found; build libvt.fmpi.a])
])
dnl check for MPI_STATUS_SIZE
AS_IF([test x"$build_fmpi" = "xyes" -a "$mpi_error" = "no"],
[
AC_MSG_CHECKING([for the value of MPI_STATUS_SIZE])
AS_IF([test x"$mpi_status_size" != x],
[
AC_MSG_RESULT([skipped (--with-mpi-status-size=$mpi_status_size)])
AC_DEFINE_UNQUOTED(MPI_STATUS_SIZE, [$mpi_status_size], [Define as the size of MPI_STATUS_SIZE])
mpi_bin_dir=`dirname $which_mpicc`
AS_IF([test "$mpi_bin_dir" != "/usr/bin"],
[
AS_IF([test x"$MPIDIR" = x],
[MPIDIR=`echo $mpi_bin_dir | sed -e 's/bin//'`])
AS_IF([test x"$MPIINCDIR" = x],
[MPIINCDIR=-I`echo $mpi_bin_dir | sed -e 's/bin/include/'`])
AS_IF([test x"$MPILIBDIR" = x],
[MPILIBDIR=-L`echo $mpi_bin_dir | sed -e 's/bin/lib/'`])
])
],
[
sav_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $MPIINCDIR"
AC_CHECK_HEADER([mpi.h], [MPICC="$CC"],
[
AC_MSG_NOTICE([error: no mpi.h found; check path for MPI package first...])
mpi_error="yes"
])
CPPFLAGS=$sav_CPPFLAGS
])
dnl check for Open MPI
AS_IF([test "$mpi_error" = "no"],
[
sav_CC=$CC
sav_CFLAGS=$CFLAGS
CC=$MPICC
CFLAGS="$CFLAGS $MPIINCDIR"
AC_TRY_RUN(
[
#include <stdio.h>
#include <mpi.h>
int main () {
FILE * f = fopen( "conftest.val", "w" );
if( !f ) return 1;
fprintf( f, "%d", MPI_STATUS_SIZE );
fclose( f );
return 0;
}], [mpi_status_size=`cat ./conftest.val`], [], [mpi_status_size=])
AS_IF([test x"$mpi_status_size" != x],
AC_CHECK_DECL([OPEN_MPI], [],
[
AC_MSG_RESULT([$mpi_status_size])],
[
AC_TRY_RUN(
[
#include <stdio.h>
#include <mpi.h>
int main () {
FILE * f;
int sizeof_mpistatus = sizeof( MPI_Status );
int sizeof_int = sizeof( int );
if( sizeof_mpistatus == 0 || sizeof_int == 0 ) return 1;
f = fopen( "conftest.val", "w" );
if( !f ) return 1;
fprintf( f, "%d", sizeof_mpistatus / sizeof_int );
fclose( f );
return 0;
}], [mpi_status_size=`cat ./conftest.val`], [], [mpi_status_size=])
AS_IF([test x"$mpi_status_size" != x],
[
AC_MSG_RESULT([$mpi_status_size])
],
[
mpi_status_size=5
AC_MSG_RESULT([unknown])
AC_MSG_WARN([could not determine the value of MPI_STATUS_SIZE; assuming $mpi_status_size])
])
AC_DEFINE_UNQUOTED(MPI_STATUS_SIZE, [$mpi_status_size], [Define as the size of MPI_STATUS_SIZE])
])
rm -f conftest.val
AC_MSG_NOTICE([error: unsupported MPI implementation; This version of VampirTrace does only support Open MPI.])
mpi_error="yes"
], [#include "mpi.h"])
CC=$sav_CC
CFLAGS=$sav_CFLAGS
])
dnl check for MPILIB
AS_IF([test x"$MPILIB" = x -a "$mpi_error" = "no"],
[
sav_LIBS=$LIBS
LIBS="$LIBS $MPILIBDIR -lmpi"
AC_MSG_CHECKING([whether linking with -lmpi works])
AC_TRY_LINK([],[],
[AC_MSG_RESULT([yes]); MPILIB=-lmpi],[AC_MSG_RESULT([no])])
LIBS=$sav_LIBS
])
AS_IF([test x"$MPILIB" = x -a "$mpi_error" = "no"],
[
AC_MSG_NOTICE([error: no libmpi found; check path for MPI package first...])
mpi_error="yes"
])
dnl check for MPI I/O
AS_IF([test x"$have_mpio" = x -a "$mpi_error" = "no"],
[
sav_CC=$CC
sav_CFLAGS=$CFLAGS
sav_LIBS=$LIBS
CC=$MPICC
CFLAGS="$CFLAGS $MPIINCDIR"
LIBS="$LIBS $MPILIBDIR $MPILIB"
AC_CHECK_FUNC([MPI_File_open], [have_mpio="yes"], [have_mpio="no"])
CC=$sav_CC
CFLAGS=$sav_CFLAGS
LIBS=$sav_LIBS
])
])
AS_IF([test "$mpi_error" = "no"],
[
sav_CC=$CC
sav_CFLAGS=$CFLAGS
sav_LIBS=$LIBS
CC=$MPICC
CFLAGS="$CFLAGS $MPIINCDIR"
LIBS="$LIBS $MPILIBDIR $MPILIB"
AS_IF([test x"$PMPILIB" = x"$MPILIB"], [PMPILIB=])
FMPILIB="-lvt.fmpi"
dnl check for MPI Thread support
AS_IF([test x"$have_mpithrd" = x],
[
AC_CHECK_FUNC([MPI_Init_thread],
[have_mpithrd="yes"], [have_mpithrd="no"])
])
AS_IF([test "$have_mpithrd" = "yes"],
[AC_DEFINE([HAVE_MPITHRD], [1], [Define to 1 if MPI supports threads.])])
dnl check for MPI I/O
AS_IF([test x"$have_mpio" = x],
[
AC_CHECK_FUNC([MPI_File_open],
[have_mpio="yes"], [have_mpio="no"])
])
AS_IF([test "$have_mpio" = "yes"],
[AC_DEFINE([HAVE_MPIO], [1], [Define to 1 if MPI supports file access.])])
CC=$sav_CC
CFLAGS=$sav_CFLAGS
LIBS=$sav_LIBS
],
[
MPICC="$CC"
])
AS_IF([test "$mpi_error" = "yes"], [MPICC=$CC])
AS_IF([test x"$PMPILIB" = x"$MPILIB"], [PMPILIB=])
AC_SUBST(MPIDIR)
AC_SUBST(MPIINCDIR)
AC_SUBST(MPILIBDIR)

Просмотреть файл

@ -2,8 +2,8 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.60)
AC_INIT(VampirTrace, 5.4.9, vampirsupport@zih.tu-dresden.de)
AM_INIT_AUTOMAKE(VampirTrace, 5.4.9)
AC_INIT(VampirTrace, 5.4.10, vampirsupport@zih.tu-dresden.de)
AM_INIT_AUTOMAKE(VampirTrace, 5.4.10)
AM_CONFIG_HEADER(config.h)
ACVT_CONF_INIT
@ -142,7 +142,7 @@ AM_CONDITIONAL(AMHAVELIBERTY, test x"$have_liberty" = "xyes")
# Check for MPI and OpenMP
check_omp="yes"; build_omp="yes"; force_omp="no"
check_mpi="yes"; build_mpi="yes"; build_fmpi="no"; force_mpi="no"
check_mpi="yes"; build_mpi="yes"; force_mpi="no"
build_hyb="yes"
AC_ARG_ENABLE(mpi,
AC_HELP_STRING([--enable-mpi], [enable MPI support, default: enable if MPI-installation found by configure]),
@ -175,7 +175,7 @@ AS_IF([test x"$check_mpi" = "xyes"],
AS_IF([test x"$mpi_error" = "xyes"],
[
AS_IF([test x"$force_mpi" = "xyes"], [exit 1])
build_mpi="no"; build_fmpi="no"; build_hyb="no"
build_mpi="no"; build_hyb="no"
])
],
[
@ -201,7 +201,6 @@ AS_IF([test x"$check_omp" = "xyes"],
])
AM_CONDITIONAL(AMBUILDMPI, test x"$build_mpi" = "xyes")
AM_CONDITIONAL(AMBUILDFMPI, test x"$build_fmpi" = "xyes")
AM_CONDITIONAL(AMHAVEOMP, test x"$have_omp" = "xyes")
AM_CONDITIONAL(AMBUILDOMP, test x"$build_omp" = "xyes")
AM_CONDITIONAL(AMBUILDHYB, test x"$build_hyb" = "xyes")

Просмотреть файл

@ -53,9 +53,9 @@ SPAN.textit { font-style: italic }
SPAN.arabic { }
SPAN.textbf { font-weight: bold }
BODY {font-family: sans-serif;}
BODY { font-family: sans-serif }
</STYLE>
</HEAD>
<BODY >
@ -63,7 +63,7 @@ BODY {font-family: sans-serif;}
<P>
<P>
<B><BIG CLASS="XHUGE">VampirTrace 5.4.9 User Manual</BIG></B>
<B><BIG CLASS="XHUGE">VampirTrace 5.4.10 User Manual</BIG></B>
<BR>
<BR>
<BR>
@ -1872,7 +1872,7 @@ default: automatically by configure
<DD>&nbsp;
<BR>
enable MPI support, default: enable if
MPI found by configure
Open MPI found by configure
<P>
</DD>
@ -1937,17 +1937,6 @@ default: enable if dyninst found
enable PAPI hardware counter support,
<BR>
default: enable if found by configure
<P>
</DD>
<DT><STRONG><TT>-enable-fmpi-lib</TT></STRONG></DT>
<DD>&nbsp;
<BR>
build the MPI Fortran support library, in case your
system does not have a MPI Fortran library.
<BR>
default: enable if no MPI Fortran library
found by configure
</DD>
</DL>
@ -2049,32 +2038,17 @@ give the path for MPI-libraries, default: <TT>$MPIDIR/lib/</TT>
<P>
</DD>
<DT><STRONG><TT>-with-mpi-lib</TT></STRONG></DT>
<DT><STRONG><TT>-with-mpi-lib=MPILIB</TT></STRONG></DT>
<DD>&nbsp;
<BR>
use given mpi lib
<P>
</DD>
<DT><STRONG><TT>-with-pmpi-lib</TT></STRONG></DT>
<DT><STRONG><TT>-with-pmpi-lib=PMPILIB</TT></STRONG></DT>
<DD>&nbsp;
<BR>
use given pmpi lib
</DD>
</DL>
<P>
If your system does not have an MPI Fortran library,
set <TT>-enable-fmpi-lib</TT> (see above), otherwise set:
<P>
<DL>
<DT><STRONG><TT>-with-fmpi-lib</TT></STRONG></DT>
<DD>&nbsp;
<BR>
use given fmpi lib
<P>
use given pmpi lib, default: MPILIB
</DD>
</DL>
@ -2105,7 +2079,7 @@ For example, this <TT>configure</TT> command line works for an NEC SX6 system wi
<P>
<PRE>
% ./configure CC=sxcc CXX=sxc++ F77=sxf90 FC=sxf90 MPICC=sxmpicc
% ./configure CC=sxcc CXX=sxc++ F77=sxf90 FC=sxf90
AR=sxar RANLIB="sxar st" CXX_FOR_BUILD=c++
--host=sx6-nec-superux14.1
--with-otf-lib=-lotf

Двоичные данные
ompi/contrib/vt/vt/doc/UserManual.pdf

Двоичный файл не отображается.

Просмотреть файл

@ -1,27 +0,0 @@
EXTRA_DIST = otf.i
INCLUDES = \
$(ZLIB_INCLUDE_LINE) \
-I$(top_srcdir)/otflib
noinst_HEADERS = \
pyOTF_AuxiliaryFunctions.h \
pyOTF_Wrapper.h
pkgpython_PYTHON = __init__.py
nodist_pkgpython_PYTHON = otf.py
pkgpyexec_LTLIBRARIES = _otf.la
nodist__otf_la_SOURCES = otf_wrap.c
_otf_la_CPPFLAGS = $(SWIG_PYTHON_CPPFLAGS)
_otf_la_LDFLAGS = -module
_otf_la_LIBADD = -L$(top_srcdir)/otflib -lotf $(ZLIB_LIB_LINE)
otf_wrap.c : otf.i
$(SWIG) $(SWIG_PYTHON_OPT) -I$(top_srcdir)/otflib -o $@ $<
CLEANFILES= \
otf_wrap.c \
otf.py

Просмотреть файл

@ -1,8 +0,0 @@
otf python bindings
--
The interface is exact the same as in C
except:
- all 'OTF_*_*Progress' functions return a list of 4 values, namely
[old-return-value, minimum, current, maximum] and take only one argument,
which is a pointer to a OTF_{Reader,RStream} object

Просмотреть файл

@ -1 +0,0 @@
from otf import *

Просмотреть файл

@ -1,570 +0,0 @@
/*
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2008.
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
*/
/*
* no structures will be included, so they are no accessable through python
*
* Time- and BytesProgress now have 4 return values. 1. real return value and
* and min/cur/max - e.g. [ 1, 0, 100, 100000 ]
*
*/
%module otf
%{
#include "otf.h"
#include "pyOTF_AuxiliaryFunctions.h"
#include "pyOTF_Wrapper.h"
%}
/* *** conversion from C datatypes to python data types *** */
%apply unsigned char { uint8_t }
%apply unsigned int { uint32_t }
%apply unsigned long long { uint64_t }
%apply unsigned long long *OUTPUT { uint64_t* minimum, uint64_t* current, uint64_t* maximum }; /* progress return values */
/* *** other interfaces *** */
/* OTF_Definitions.h */
%include ../otflib/OTF_Definitions.h
/* OTF_FileManager.h */
%ignore OTF_FileManager_guaranteeFile; /* the user shouldn't use this function */
%ignore OTF_FileManager_registerFile; /* the user shouldn't use this function */
%ignore OTF_FileManager_touchFile; /* the user shouldn't use this function */
%ignore OTF_FileManager_suspendFile; /* the user shouldn't use this function */
%include ../otflib/OTF_FileManager.h
/* OTF_Filenames.h */
%include ../otflib/OTF_Filenames.h
/* OTF_HandlerArray.h */
%ignore OTF_HandlerArray_getCopyHandler;
%ignore struct_OTF_HandlerArray;
%ignore OTF_HandlerArray_close;
%ignore OTF_HandlerArray_setHandler;
%ignore OTF_HandlerArray_setFirstHandlerArg;
%ignore OTF_Handler_DefinitionComment;
%ignore OTF_Handler_DefTimerResolution;
%ignore OTF_Handler_DefProcess;
%ignore OTF_Handler_DefProcessGroup;
%ignore OTF_Handler_DefFunction;
%ignore OTF_Handler_DefFunctionGroup;
%ignore OTF_Handler_DefCollectiveOperation;
%ignore OTF_Handler_DefCounter;
%ignore OTF_Handler_DefCounterGroup;
%ignore OTF_Handler_DefScl;
%ignore OTF_Handler_DefSclFile;
%ignore OTF_Handler_DefCreator;
%ignore OTF_Handler_DefVersion;
%ignore OTF_Handler_DefFile;
%ignore OTF_Handler_DefFileGroup;
%ignore OTF_Handler_Enter;
%ignore OTF_Handler_Leave;
%ignore OTF_Handler_SendMsg;
%ignore OTF_Handler_RecvMsg;
%ignore OTF_Handler_Counter;
%ignore OTF_Handler_CollectiveOperation;
%ignore OTF_Handler_EventComment;
%ignore OTF_Handler_BeginProcess;
%ignore OTF_Handler_EndProcess;
%ignore OTF_Handler_FileOperation;
%ignore OTF_Handler_SnapshotComment;
%ignore OTF_Handler_EnterSnapshot;
%ignore OTF_Handler_SendSnapshot;
%ignore OTF_Handler_OpenFileSnapshot;
%ignore OTF_Handler_SummaryComment;
%ignore OTF_Handler_FunctionSummary;
%ignore OTF_Handler_FunctionGroupSummary;
%ignore OTF_Handler_MessageSummary;
%ignore OTF_Handler_FileOperationSummary;
%ignore OTF_Handler_FileGroupOperationSummary;
%ignore OTF_Handler_UnknownRecord;
%include ../otflib/OTF_HandlerArray.h
/* OTF_inttypes.h */
%include ../otflib/OTF_inttypes.h
/* OTF_MasterControl.h */
%ignore struct_OTF_MapEntry;
%ignore struct_OTF_Pair;
%ignore struct_OTF_MasterControl;
%ignore OTF_MasterControl_appendList; /* replaced by wrapper */
%include ../otflib/OTF_MasterControl.h
/* OTF_Reader.h */
%include ../otflib/OTF_Reader.h
/* OTF_RStream.h */
%ignore struct_OTF_RStream;
%include ../otflib/OTF_RStream.h
/* OTF_Writer.h */
%ignore OTF_Writer_writeDefProcessGroup;
%ignore OTF_Writer_writeOtfVersion;
%include ../otflib/OTF_Writer.h
/* OTF_WStream.h */
%ignore struct_OTF_WStream;
%include ../otflib/OTF_WStream.h
/* *** functions that had to be wrapped up *** */
%rename(OTF_COUNTER_VARTYPE_ISINTEGER) pyOTF_COUNTER_VARTYPE_ISINTEGER;
%rename(OTF_COUNTER_VARTYPE_ISSIGNED) pyOTF_COUNTER_VARTYPE_ISSIGNED;
%rename(OTF_COUNTER_VARTYPE_ISUNSIGNED) pyOTF_COUNTER_VARTYPE_ISUNSIGNED;
%rename(OTF_MasterControl_appendList) pyOTF_MasterControl_appendList;
%rename(OTF_Writer_writeDefProcessGroup) pyOTF_Writer_writeDefProcessGroup;
%rename(OTF_HandlerArray_close) pyOTF_HandlerArray_close;
%rename(OTF_HandlerArray_setHandler) pyOTF_HandlerArray_setHandler;
%rename(OTF_HandlerArray_setFirstHandlerArg) pyOTF_HandlerArray_setFirstHandlerArg;
%ignore pyOTF_FirstHandlerArgument;
%ignore pyOTF_Handler_DefinitionComment;
%ignore pyOTF_Handler_DefTimerResolution;
%ignore pyOTF_Handler_DefProcess;
%ignore pyOTF_Handler_DefProcessGroup;
%ignore pyOTF_Handler_DefFunction;
%ignore pyOTF_Handler_DefFunctionGroup;
%ignore pyOTF_Handler_DefCollectiveOperation;
%ignore pyOTF_Handler_DefCounter;
%ignore pyOTF_Handler_DefCounterGroup;
%ignore pyOTF_Handler_DefScl;
%ignore pyOTF_Handler_DefSclFile;
%ignore pyOTF_Handler_DefCreator;
%ignore pyOTF_Handler_DefVersion;
%ignore pyOTF_Handler_DefFile;
%ignore pyOTF_Handler_DefFileGroup;
%ignore pyOTF_Handler_Enter;
%ignore pyOTF_Handler_Leave;
%ignore pyOTF_Handler_SendMsg;
%ignore pyOTF_Handler_RecvMsg;
%ignore pyOTF_Handler_Counter;
%ignore pyOTF_Handler_CollectiveOperation;
%ignore pyOTF_Handler_EventComment;
%ignore pyOTF_Handler_BeginProcess;
%ignore pyOTF_Handler_EndProcess;
%ignore pyOTF_Handler_FileOperation;
%ignore pyOTF_Handler_SnapshotComment;
%ignore pyOTF_Handler_EnterSnapshot;
%ignore pyOTF_Handler_SendSnapshot;
%ignore pyOTF_Handler_OpenFileSnapshot;
%ignore pyOTF_Handler_SummaryComment;
%ignore pyOTF_Handler_FunctionSummary;
%ignore pyOTF_Handler_FunctionGroupSummary;
%ignore pyOTF_Handler_MessageSummary;
%ignore pyOTF_Handler_FileOperationSummary;
%ignore pyOTF_Handler_FileGroupOperationSummary;
%ignore pyOTF_Handler_UnknownRecord;
%include pyOTF_Wrapper.h
/* OTF_Copyhandler.h */
%pythoncode %{
def OTF_CopyHandler_DefComment( writer, stream, comment ):
if OTF_Writer_writeDefinitionComment( writer, stream, comment ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_DefTimerResolution( writer, stream, ticksPerSecond ):
if OTF_Writer_writeDefTimerResolution( writer, stream, ticksPerSecond ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_DefProcess( writer, stream, process, name, parent ):
if OTF_Writer_writeDefProcess( writer, stream, process, name, parent ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_DefProcGroup( writer, stream, group, name, nr, proclist ):
if OTF_Writer_writeDefProcessGroup( writer, stream, group, name, nr, proclist ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_DefFunction( writer, stream, func, name, group, source ):
if OTF_Writer_writeDefFunction( writer, stream, func, name, group, source ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_DefFunctionGroup( writer, stream, group, name ):
if OTF_Writer_writeDefFunctionGroup( writer, stream, group, name ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_DefCollectiveOperation( writer, stream, coll, name, typee ):
if OTF_Writer_writeDefCollectiveOperation( writer, stream, coll, name, typee ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_DefCounter( writer, stream, counter, name, properties, group, unit ):
if OTF_Writer_writeDefCounter( writer, stream, counter, name, properties, group, unit ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_DefCounterGroup( writer, stream, group, name ):
if OTF_Writer_writeDefCounterGroup( writer, stream, group, name ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_DefScl( writer, stream, source, file, line ):
if OTF_Writer_writeDefScl( writer, stream, source, file, line ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_DefSclFile( writer, stream, file, name ):
if OTF_Writer_writeDefSclFile( writer, stream, file, name ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_DefCreator( writer, stream, creator ):
if OTF_Writer_writeDefCreator( writer, stream, creator ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_DefVersion( writer, stream, major, minor, sub, string ):
#version is writen implicitly
return OTF_RETURN_OK
def OTF_CopyHandler_DefFile( writer, stream, token, name, group ):
if OTF_Writer_writeDefFile( writer, stream, token, name, group ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_DefFileGroup( writer, stream, token, name ):
if OTF_Writer_writeDefFileGroup( writer, stream, token, name ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_EventComment( writer, time, process, comment ):
if OTF_Writer_writeEventComment( writer, time, process, comment ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_Counter( writer, time, process, counter, value ):
if OTF_Writer_writeCounter( writer, time, process, counter, value ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_Enter( writer, time, function, process, source ):
if OTF_Writer_writeEnter( writer, time, function, process, source ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_CollectiveOperation( writer, time, process, collective, group,
root, sent, received, duration, source ):
if OTF_Writer_writeCollectiveOperation( writer, time, process, collective, group,
root, sent, received, duration, source ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_RecvMsg( writer, time, receiver, sender, group, typee, length,
source ):
if OTF_Writer_writeRecvMsg( writer, time, receiver, sender, group, typee, length, source ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_SendMsg( writer, time, sender, receiver, group, typee, length,
source ):
if OTF_Writer_writeSendMsg( writer, time, sender, receiver, group, typee, length, source ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_Leave( writer, time, function, process, source ):
if OTF_Writer_writeLeave( writer, time, function, process, source ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_BeginProcess( writer, time, process ):
if OTF_Writer_writeBeginProcess( writer, time, process ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_EndProcess( writer, time, process ):
if OTF_Writer_writeEndProcess( writer, time, process ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_FileOperation( writer, time, fileid, process, handleid, operation,
bytes, duration, source ):
if OTF_Writer_writeFileOperation( writer, time, fileid, process, handleid, operation,
bytes, duration, source ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_SnapshotComment( writer, time, process, comment ):
if OTF_Writer_writeSnapshotComment( writer, time, process, comment ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_EnterSnapshot( writer, time, originaltime, function, process,
source ):
if OTF_Writer_writeEnterSnapshot( writer, time, originaltime, function, process,
source ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_SendSnapshot( writer, time, originaltime, sender, receiver,
procGroup, tag, source ):
if OTF_Writer_writeSendSnapshot( writer, time, originaltime, sender, receiver,
procGroup, tag, source ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_OpenFileSnapshot( writer, time, originaltime, fileid,
process, handleid, source ):
if OTF_Writer_writeOpenFileSnapshot( writer, time, originaltime, fileid,
process, handleid, source ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_SummaryComment( writer, time, process, comment ):
if OTF_Writer_writeSummaryComment( writer, time, process, comment ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_FunctionSummary( writer, time, function, process, invocations,
exclTime, inclTime ):
if OTF_Writer_writeFunctionSummary( writer, time, function, process, invocations,
exclTime, inclTime ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_FunctionGroupSummary( writer, time, group, process,
invocations, exclTime, inclTime ):
if OTF_Writer_writeFunctionGroupSummary( writer, time, group, process,
invocations, exclTime, inclTime ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_MessageSummary( writer, time, process, peer, comm, typee,
sentNumber, receivedNumber, sentBytes, receivedBytes ):
if OTF_Writer_writeMessageSummary( writer, time, process, peer, comm, typee,
sentNumber, receivedNumber, sentBytes, receivedBytes ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_FileOperationSummary( writer, time, fileid, process, nopen, nclose,
nread, nwrite, nseek, bytesread, byteswrite ):
if OTF_Writer_writeFileOperationSummary( writer, time, fileid, process, nopen, nclose,
nread, nwrite, nseek, bytesread, byteswrite ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
def OTF_CopyHandler_FileGroupOperationSummary( writer, time, groupid, process, nopen,
nclose, nread, nwrite, nseek, bytesread, byteswrite ):
if OTF_Writer_writeFileGroupOperationSummary( writer, time, groupid, process, nopen,
nclose, nread, nwrite, nseek, bytesread, byteswrite ) == 0 :
return OTF_RETURN_ABORT
else :
return OTF_RETURN_OK
################################################################################s
def OTF_HandlerArray_getCopyHandler( handlers, writer ):
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefComment, OTF_DEFINITIONCOMMENT_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefTimerResolution, OTF_DEFTIMERRESOLUTION_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefProcess, OTF_DEFPROCESS_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefProcGroup, OTF_DEFPROCESSGROUP_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefFunction, OTF_DEFFUNCTION_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefFunctionGroup, OTF_DEFFUNCTIONGROUP_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefCollectiveOperation, OTF_DEFCOLLOP_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefCounter, OTF_DEFCOUNTER_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefCounterGroup, OTF_DEFCOUNTERGROUP_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefScl, OTF_DEFSCL_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefSclFile, OTF_DEFSCLFILE_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefCreator, OTF_DEFCREATOR_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefVersion, OTF_DEFVERSION_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefFile, OTF_DEFFILE_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_DefFileGroup, OTF_DEFFILEGROUP_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_Enter, OTF_ENTER_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_Leave, OTF_LEAVE_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_SendMsg, OTF_SEND_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_RecvMsg, OTF_RECEIVE_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_Counter, OTF_COUNTER_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_CollectiveOperation, OTF_COLLOP_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_EventComment, OTF_EVENTCOMMENT_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_BeginProcess, OTF_BEGINPROCESS_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_EndProcess, OTF_ENDPROCESS_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_FileOperation, OTF_FILEOPERATION_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_SnapshotComment, OTF_SNAPSHOTCOMMENT_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_EnterSnapshot, OTF_ENTERSNAPSHOT_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_SendSnapshot, OTF_SENDSNAPSHOT_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_OpenFileSnapshot, OTF_OPENFILESNAPSHOT_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_SummaryComment, OTF_SUMMARYCOMMENT_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_FunctionSummary, OTF_FUNCTIONSUMMARY_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_FunctionGroupSummary, OTF_FUNCTIONGROUPSUMMARY_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_MessageSummary, OTF_MESSAGESUMMARY_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_FileOperationSummary, OTF_FILEOPERATIONSUMMARY_RECORD )
OTF_HandlerArray_setHandler( handlers, OTF_CopyHandler_FileGroupOperationSummary, OTF_FILEGROUPOPERATIONSUMMARY_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFINITIONCOMMENT_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFTIMERRESOLUTION_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFPROCESS_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFPROCESSGROUP_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFFUNCTION_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFFUNCTIONGROUP_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFCOLLOP_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFCOUNTER_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFCOUNTERGROUP_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFSCL_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFSCLFILE_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFCREATOR_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFVERSION_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFFILE_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_DEFFILEGROUP_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_ENTER_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_LEAVE_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_SEND_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_RECEIVE_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_COUNTER_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_COLLOP_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_EVENTCOMMENT_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_BEGINPROCESS_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_ENDPROCESS_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_FILEOPERATION_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_SNAPSHOTCOMMENT_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_ENTERSNAPSHOT_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_SENDSNAPSHOT_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_OPENFILESNAPSHOT_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_SUMMARYCOMMENT_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_FUNCTIONSUMMARY_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_FUNCTIONGROUPSUMMARY_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_MESSAGESUMMARY_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_FILEOPERATIONSUMMARY_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_FILEGROUPOPERATIONSUMMARY_RECORD )
OTF_HandlerArray_setFirstHandlerArg( handlers, writer, OTF_UNKNOWN_RECORD )
return 1
%}

Просмотреть файл

@ -1,51 +0,0 @@
/*
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2008.
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
*/
#ifndef PYOTF_AUXILIARYFUNCTIONS_H
#define PYOTF_AUXILIARYFUNCTIONS_H
/* conversion from python sequence to uint32_t array
CREATES AN ARRAY - you have to free it yourself */
uint32_t* createInt32ArrayFromSequence( PyObject* list ) {
int i;
int dim;
uint32_t* ret;
if (!PySequence_Check( list )) {
#ifdef OTF_VERBOSE
PyErr_SetString(PyExc_TypeError,"Expecting a sequence");
#endif /* OTF_VERBOSE */
return NULL;
}
dim= PyObject_Length( list );
ret= (uint32_t*) malloc( sizeof(uint32_t) * dim );
for ( i =0; i < dim; ++i ) {
PyObject *o = PySequence_GetItem( list ,i );
if (!PyInt_Check(o)) {
Py_XDECREF(o);
#ifdef OTF_VERBOSE
PyErr_SetString(PyExc_ValueError,"Expecting a sequence of integers");
#endif /* OTF_VERBOSE */
free( ret );
return NULL;
}
ret[i] = PyInt_AsLong(o);
Py_DECREF(o);
}
return ret;
}
#endif /* PYOTF_AUXILIARYFUNCTIONS_H */

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,5 +1,5 @@
if AMBUILDMPI
VTMPILIB = libvt.mpi.a
VTMPILIB = libvt.mpi.a libvt.fmpi.a
else
VTMPILIB =
endif
@ -16,13 +16,7 @@ else
VTHYBLIB =
endif
if AMBUILDFMPI
VTFMPILIB = libvt.fmpi.a
else
VTFMPILIB =
endif
lib_LIBRARIES = libvt.a $(VTMPILIB) $(VTOMPLIB) $(VTHYBLIB) $(VTFMPILIB)
lib_LIBRARIES = libvt.a $(VTMPILIB) $(VTOMPLIB) $(VTHYBLIB)
OPARILIBDIR = $(top_builddir)/tools/opari/lib
OPARIINCLUDE = -I$(top_srcdir)/tools/opari/lib

Разница между файлами не показана из-за своего большого размера Загрузить разницу