- 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.
Этот коммит содержится в:
родитель
03e6a117c5
Коммит
77b397895c
@ -3,21 +3,13 @@
|
|||||||
|
|
||||||
|
|
||||||
+++ IBM Regatta p690+ (Research Centre Juelich)
|
+++ 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
|
./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
|
||||||
|
|
||||||
|
|
||||||
+++ 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
|
|
||||||
|
|
||||||
|
|
||||||
+++ NEC SX-8 (High Performance Computing Center Stuttgart)
|
+++ 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)
|
+++ 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
|
5.4.9
|
||||||
- updated version of internal OTF to 1.3.12 (see extlib/otf/ChangeLog)
|
- updated version of internal OTF to 1.3.12 (see extlib/otf/ChangeLog)
|
||||||
- added support for cycle counter timer on Alpha and Sparc platforms
|
- 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
|
instrumentation type for the compiler-wrapper
|
||||||
|
|
||||||
--enable-mpi enable MPI support, default: enable if
|
--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
|
--enable-omp enable OpenMP support, default: enable if given
|
||||||
compiler supports OpenMP
|
compiler supports OpenMP
|
||||||
@ -79,11 +79,6 @@ How to install and configure VampirTrace
|
|||||||
--enable-papi enable PAPI hardware counter support, default:
|
--enable-papi enable PAPI hardware counter support, default:
|
||||||
enable if found by configure
|
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
|
* Important Optional Packages
|
||||||
|
|
||||||
@ -128,14 +123,9 @@ How to install and configure VampirTrace
|
|||||||
give the path for MPI-libraries, default:
|
give the path for MPI-libraries, default:
|
||||||
MPIDIR/lib
|
MPIDIR/lib
|
||||||
|
|
||||||
--with-mpi-lib use given mpi lib
|
--with-mpi-lib=MPILIB use given mpi lib
|
||||||
|
|
||||||
--with-pmpi-lib use given pmpi lib
|
--with-pmpi-lib=PMPILIB use given pmpi lib, default MPILIB
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
Set up the Environment
|
Set up the Environment
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
major=5
|
major=5
|
||||||
minor=4
|
minor=4
|
||||||
release=9
|
release=10
|
||||||
|
|
||||||
# greek is used for alpha or beta release tags. If it is non-empty,
|
# 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
|
# 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"])
|
[answer="yes"], [answer="no"])
|
||||||
echo " Build MPI support: $answer"
|
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"],
|
AS_IF([test x"$build_omp" = "xyes"],
|
||||||
[answer="yes"], [answer="no"])
|
[answer="yes"], [answer="no"])
|
||||||
echo " Build OpenMP support: $answer"
|
echo " Build OpenMP support: $answer"
|
||||||
@ -967,8 +963,7 @@ AC_DEFUN([ACVT_MEMHOOKS],
|
|||||||
AC_DEFUN([ACVT_MPI],
|
AC_DEFUN([ACVT_MPI],
|
||||||
[
|
[
|
||||||
mpi_error="no"
|
mpi_error="no"
|
||||||
mpi_status_size=
|
openmpi="no"
|
||||||
have_mpithrd=
|
|
||||||
have_mpio=
|
have_mpio=
|
||||||
|
|
||||||
MPIDIR=
|
MPIDIR=
|
||||||
@ -998,104 +993,31 @@ AC_DEFUN([ACVT_MPI],
|
|||||||
[AS_IF([test x"$MPIDIR" != x], [MPILIBDIR="-L$MPIDIR"lib/])])
|
[AS_IF([test x"$MPIDIR" != x], [MPILIBDIR="-L$MPIDIR"lib/])])
|
||||||
|
|
||||||
AC_ARG_WITH(mpi-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"])
|
[MPILIB="$withval"])
|
||||||
|
|
||||||
AC_ARG_WITH(pmpi-lib,
|
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"])
|
[PMPILIB="$withval"])
|
||||||
|
|
||||||
AC_ARG_WITH(fmpi-lib,
|
AC_ARG_WITH(openmpi,
|
||||||
AC_HELP_STRING([--with-fmpi-lib], [use given fmpi lib]),
|
AC_HELP_STRING([--with-openmpi], [configure for building in Open MPI]),
|
||||||
[FMPILIB="$withval"])
|
[AS_IF([test x"$withval" = "xyes"], [openmpi="yes"])])
|
||||||
|
|
||||||
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_ENABLE(mpi-io,
|
AC_ARG_ENABLE(mpi-io,
|
||||||
AC_HELP_STRING(--enable-mpi-io,
|
AC_HELP_STRING(--enable-mpi-io,
|
||||||
[MPI supports file access, default: yes if found by configure]),
|
[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,
|
AS_IF([test "$openmpi" = "yes"],
|
||||||
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"])
|
MPICC="$CC"
|
||||||
AS_IF([test x"$PMPILIB" = x], [PMPILIB="$MPILIB"])
|
MPIINCDIR="-I$top_vt_builddir/../../../include"
|
||||||
AS_IF([test x"$FMPILIB" = x], [FMPILIB="-lvt.fmpi"])
|
MPILIB="-lmpi"
|
||||||
build_fmpi="yes"
|
AS_IF([test x"$have_mpio" = x], [have_mpio="yes"])
|
||||||
])
|
AC_MSG_NOTICE([skipped further tests for MPI])
|
||||||
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)
|
AC_CHECK_PROGS(MPICC, mpicc hcc mpcc mpcc_r mpxlc mpixlc cmpicc mpiicc)
|
||||||
|
|
||||||
AS_IF([test x"$MPICC" != x],
|
AS_IF([test x"$MPICC" != x],
|
||||||
@ -1126,51 +1048,25 @@ AC_DEFUN([ACVT_MPI],
|
|||||||
CPPFLAGS=$sav_CPPFLAGS
|
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_CHECK_DECL([OPEN_MPI], [],
|
||||||
|
[
|
||||||
|
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
|
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"],
|
AS_IF([test x"$MPILIB" = x -a "$mpi_error" = "no"],
|
||||||
[
|
[
|
||||||
sav_LIBS=$LIBS
|
sav_LIBS=$LIBS
|
||||||
@ -1179,185 +1075,17 @@ dnl check for MPILIB
|
|||||||
AC_TRY_LINK([],[],
|
AC_TRY_LINK([],[],
|
||||||
[AC_MSG_RESULT([yes]); MPILIB=-lmpi],[AC_MSG_RESULT([no])])
|
[AC_MSG_RESULT([yes]); MPILIB=-lmpi],[AC_MSG_RESULT([no])])
|
||||||
LIBS=$sav_LIBS
|
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"],
|
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...])
|
AC_MSG_NOTICE([error: no libmpi found; check path for MPI package first...])
|
||||||
mpi_error="yes"
|
mpi_error="yes"
|
||||||
])
|
])
|
||||||
|
|
||||||
dnl check for PMPILIB
|
dnl check for MPI I/O
|
||||||
|
|
||||||
AS_IF([test x"$PMPILIB" = x -a "$mpi_error" = "no"],
|
AS_IF([test x"$have_mpio" = 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])
|
|
||||||
],
|
|
||||||
[
|
|
||||||
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_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
|
|
||||||
CC=$sav_CC
|
|
||||||
CFLAGS=$sav_CFLAGS
|
|
||||||
])
|
|
||||||
])
|
|
||||||
|
|
||||||
AS_IF([test "$mpi_error" = "no"],
|
|
||||||
[
|
[
|
||||||
sav_CC=$CC
|
sav_CC=$CC
|
||||||
sav_CFLAGS=$CFLAGS
|
sav_CFLAGS=$CFLAGS
|
||||||
@ -1365,36 +1093,24 @@ int main () {
|
|||||||
CC=$MPICC
|
CC=$MPICC
|
||||||
CFLAGS="$CFLAGS $MPIINCDIR"
|
CFLAGS="$CFLAGS $MPIINCDIR"
|
||||||
LIBS="$LIBS $MPILIBDIR $MPILIB"
|
LIBS="$LIBS $MPILIBDIR $MPILIB"
|
||||||
|
AC_CHECK_FUNC([MPI_File_open], [have_mpio="yes"], [have_mpio="no"])
|
||||||
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
|
CC=$sav_CC
|
||||||
CFLAGS=$sav_CFLAGS
|
CFLAGS=$sav_CFLAGS
|
||||||
LIBS=$sav_LIBS
|
LIBS=$sav_LIBS
|
||||||
])
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AS_IF([test "$mpi_error" = "no"],
|
||||||
AS_IF([test "$mpi_error" = "yes"], [MPICC=$CC])
|
[
|
||||||
|
|
||||||
AS_IF([test x"$PMPILIB" = x"$MPILIB"], [PMPILIB=])
|
AS_IF([test x"$PMPILIB" = x"$MPILIB"], [PMPILIB=])
|
||||||
|
FMPILIB="-lvt.fmpi"
|
||||||
|
|
||||||
|
AS_IF([test "$have_mpio" = "yes"],
|
||||||
|
[AC_DEFINE([HAVE_MPIO], [1], [Define to 1 if MPI supports file access.])])
|
||||||
|
],
|
||||||
|
[
|
||||||
|
MPICC="$CC"
|
||||||
|
])
|
||||||
|
|
||||||
AC_SUBST(MPIDIR)
|
AC_SUBST(MPIDIR)
|
||||||
AC_SUBST(MPIINCDIR)
|
AC_SUBST(MPIINCDIR)
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
# Process this file with autoconf to produce a configure script.
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_PREREQ(2.60)
|
AC_PREREQ(2.60)
|
||||||
AC_INIT(VampirTrace, 5.4.9, vampirsupport@zih.tu-dresden.de)
|
AC_INIT(VampirTrace, 5.4.10, vampirsupport@zih.tu-dresden.de)
|
||||||
AM_INIT_AUTOMAKE(VampirTrace, 5.4.9)
|
AM_INIT_AUTOMAKE(VampirTrace, 5.4.10)
|
||||||
AM_CONFIG_HEADER(config.h)
|
AM_CONFIG_HEADER(config.h)
|
||||||
|
|
||||||
ACVT_CONF_INIT
|
ACVT_CONF_INIT
|
||||||
@ -142,7 +142,7 @@ AM_CONDITIONAL(AMHAVELIBERTY, test x"$have_liberty" = "xyes")
|
|||||||
|
|
||||||
# Check for MPI and OpenMP
|
# Check for MPI and OpenMP
|
||||||
check_omp="yes"; build_omp="yes"; force_omp="no"
|
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"
|
build_hyb="yes"
|
||||||
AC_ARG_ENABLE(mpi,
|
AC_ARG_ENABLE(mpi,
|
||||||
AC_HELP_STRING([--enable-mpi], [enable MPI support, default: enable if MPI-installation found by configure]),
|
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"$mpi_error" = "xyes"],
|
||||||
[
|
[
|
||||||
AS_IF([test x"$force_mpi" = "xyes"], [exit 1])
|
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(AMBUILDMPI, test x"$build_mpi" = "xyes")
|
||||||
AM_CONDITIONAL(AMBUILDFMPI, test x"$build_fmpi" = "xyes")
|
|
||||||
AM_CONDITIONAL(AMHAVEOMP, test x"$have_omp" = "xyes")
|
AM_CONDITIONAL(AMHAVEOMP, test x"$have_omp" = "xyes")
|
||||||
AM_CONDITIONAL(AMBUILDOMP, test x"$build_omp" = "xyes")
|
AM_CONDITIONAL(AMBUILDOMP, test x"$build_omp" = "xyes")
|
||||||
AM_CONDITIONAL(AMBUILDHYB, test x"$build_hyb" = "xyes")
|
AM_CONDITIONAL(AMBUILDHYB, test x"$build_hyb" = "xyes")
|
||||||
|
@ -53,9 +53,9 @@ SPAN.textit { font-style: italic }
|
|||||||
SPAN.arabic { }
|
SPAN.arabic { }
|
||||||
SPAN.textbf { font-weight: bold }
|
SPAN.textbf { font-weight: bold }
|
||||||
|
|
||||||
BODY {font-family: sans-serif;}
|
BODY { font-family: sans-serif }
|
||||||
|
|
||||||
</STYLE>
|
</STYLE>
|
||||||
|
|
||||||
</HEAD>
|
</HEAD>
|
||||||
|
|
||||||
<BODY >
|
<BODY >
|
||||||
@ -63,7 +63,7 @@ BODY {font-family: sans-serif;}
|
|||||||
<P>
|
<P>
|
||||||
|
|
||||||
<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>
|
<BR>
|
||||||
<BR>
|
<BR>
|
||||||
@ -1872,7 +1872,7 @@ default: automatically by configure
|
|||||||
<DD>
|
<DD>
|
||||||
<BR>
|
<BR>
|
||||||
enable MPI support, default: enable if
|
enable MPI support, default: enable if
|
||||||
MPI found by configure
|
Open MPI found by configure
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
</DD>
|
</DD>
|
||||||
@ -1937,17 +1937,6 @@ default: enable if dyninst found
|
|||||||
enable PAPI hardware counter support,
|
enable PAPI hardware counter support,
|
||||||
<BR>
|
<BR>
|
||||||
default: enable if found by configure
|
default: enable if found by configure
|
||||||
|
|
||||||
<P>
|
|
||||||
</DD>
|
|
||||||
<DT><STRONG><TT>-enable-fmpi-lib</TT></STRONG></DT>
|
|
||||||
<DD>
|
|
||||||
<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>
|
</DD>
|
||||||
</DL>
|
</DL>
|
||||||
|
|
||||||
@ -2049,32 +2038,17 @@ give the path for MPI-libraries, default: <TT>$MPIDIR/lib/</TT>
|
|||||||
|
|
||||||
<P>
|
<P>
|
||||||
</DD>
|
</DD>
|
||||||
<DT><STRONG><TT>-with-mpi-lib</TT></STRONG></DT>
|
<DT><STRONG><TT>-with-mpi-lib=MPILIB</TT></STRONG></DT>
|
||||||
<DD>
|
<DD>
|
||||||
<BR>
|
<BR>
|
||||||
use given mpi lib
|
use given mpi lib
|
||||||
|
|
||||||
<P>
|
<P>
|
||||||
</DD>
|
</DD>
|
||||||
<DT><STRONG><TT>-with-pmpi-lib</TT></STRONG></DT>
|
<DT><STRONG><TT>-with-pmpi-lib=PMPILIB</TT></STRONG></DT>
|
||||||
<DD>
|
<DD>
|
||||||
<BR>
|
<BR>
|
||||||
use given pmpi lib
|
use given pmpi lib, default: MPILIB
|
||||||
</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>
|
|
||||||
<BR>
|
|
||||||
use given fmpi lib
|
|
||||||
|
|
||||||
<P>
|
|
||||||
</DD>
|
</DD>
|
||||||
</DL>
|
</DL>
|
||||||
|
|
||||||
@ -2105,7 +2079,7 @@ For example, this <TT>configure</TT> command line works for an NEC SX6 system wi
|
|||||||
|
|
||||||
<P>
|
<P>
|
||||||
<PRE>
|
<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++
|
AR=sxar RANLIB="sxar st" CXX_FOR_BUILD=c++
|
||||||
--host=sx6-nec-superux14.1
|
--host=sx6-nec-superux14.1
|
||||||
--with-otf-lib=-lotf
|
--with-otf-lib=-lotf
|
||||||
|
Двоичные данные
ompi/contrib/vt/vt/doc/UserManual.pdf
Двоичные данные
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
|
if AMBUILDMPI
|
||||||
VTMPILIB = libvt.mpi.a
|
VTMPILIB = libvt.mpi.a libvt.fmpi.a
|
||||||
else
|
else
|
||||||
VTMPILIB =
|
VTMPILIB =
|
||||||
endif
|
endif
|
||||||
@ -16,13 +16,7 @@ else
|
|||||||
VTHYBLIB =
|
VTHYBLIB =
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if AMBUILDFMPI
|
lib_LIBRARIES = libvt.a $(VTMPILIB) $(VTOMPLIB) $(VTHYBLIB)
|
||||||
VTFMPILIB = libvt.fmpi.a
|
|
||||||
else
|
|
||||||
VTFMPILIB =
|
|
||||||
endif
|
|
||||||
|
|
||||||
lib_LIBRARIES = libvt.a $(VTMPILIB) $(VTOMPLIB) $(VTHYBLIB) $(VTFMPILIB)
|
|
||||||
|
|
||||||
OPARILIBDIR = $(top_builddir)/tools/opari/lib
|
OPARILIBDIR = $(top_builddir)/tools/opari/lib
|
||||||
OPARIINCLUDE = -I$(top_srcdir)/tools/opari/lib
|
OPARIINCLUDE = -I$(top_srcdir)/tools/opari/lib
|
||||||
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Загрузка…
x
Ссылка в новой задаче
Block a user