=== VT upgrade to version 5.12.2 ===
Changes to OTF: - general: - updated copyright information (2011->2012) - otfmerge-mpi: - use the MPI-2 versions of MPI_Address and MPI_Type_struct - otfdump: - don't abort when reading events fails - the input tracefile might only have statistics Changes to VT: - general: - updated version number to 5.12.2openmpi - updated copyright information (2011->2012) - configure: - added configure switches to enable/disable CUPTI and CUDA wrapping - fixed detection of C++ runtime libraries for Cray and PGI v11.x compilers - fixed detection of Cray compiler's OpenMP flag - fixed detection of MPI_IN_PLACE - disable support for RTLD_DEFAULT on CrayX? platforms; it's provided by dlfcn.h but not working - added '-force_flat_namespace' to linker flags of compiler wrappers on MacOS (causes that OpenMPI's libmpi_f77 calls the VT MPI wrapper functions - not the original ones) - default configure options on Cray platforms: use compiler option '--target=$XTPE_COMPILE_TARGET' only if the environment variable is set - VT libs: - added support for CUDA tracing via CUPTI callbacks and activities (runtime and driver API, kernels, memory copies, GPU idle time and GPU memory usage) - added support for cudaMemcpyDefault and synchronous peer-to-peer memory copies in CUDA library wrapper - fixed a bug in CUDA runtime wrapper initialization and thread creation - fixed a build bug occurred if CUDA and CUPTI found, but support for library tracing is disabled - use stack-allocated char-array when composing vtunify command; on some platforms system() results in exit code 127 when using a dynamically allocated char-array - fixed bug in async. counter plugin - fixed handling of empty MPI groups (MPI_GROUP_EMPTY) - fixed handling of MPI groups implicitly generated by MPI_Win_create - fixed conversion from MPI_Fint-arrays to MPI_Aint-arrays in Fortran MPI wrappers - fixed order of OpenMP threads based on its id (omp_get_thread_num) - fixed parsing of filter file to consider non-rank-specific filter rules appearing after a rank selection for disabling - fixed handling of 'errno' in LIBC[-I/O] wrappers for statically linked applications (set application's errno to the errno defined in the external LIBC which is used for calling the real functions) - suppress warnings about usage of deprecated MPI functions (OMPI_WANT_MPI_INTERFACE_WARNING=0) - vtunify[-mpi]: - fixed potential memory corruption during enqueuing recv. messages for p2p message matching - vtunify-mpi: - use the MPI-2 versions of MPI_Address and MPI_Type_struct - removed unused MPI wrappers - fixed assertion in p2p message matching which occurred when processing local traces with disabled ranks - vtdyn: - load user-specified shared libraries (-s SHLIB) into the mutatee before starting the instrumentation; adds support for instrumenting shared libraries which are loaded during runtime - compiler wrappers: - fixed detection of MPI library linked in the path form (e.g. libmpi.a instead of -lmpi) - fixed corrupt library order when using vtnvcc for linking MPI/CUDA mixed program - OPARI: - fixed Fortran parsing for detecting end of block DO loops This commit was SVN r26114.
Этот коммит содержится в:
родитель
102da281c4
Коммит
164ee92f22
@ -1,4 +1,4 @@
|
||||
Copyright (c) 2005-2011, ZIH, TU Dresden, Federal Republic of Germany
|
||||
Copyright (c) 2005-2012, ZIH, TU Dresden, Federal Republic of Germany
|
||||
|
||||
Copyright (c) 1998-2005, Forschungszentrum Juelich, Juelich Supercomputing
|
||||
Centre, Federal Republic of Germany
|
||||
|
@ -1,8 +1,51 @@
|
||||
5.12.2openmpi
|
||||
- updated version of internal OTF to 1.10.2openmpi
|
||||
(see extlib/otf/ChangeLog)
|
||||
- added support for CUDA tracing via CUPTI callbacks and activities
|
||||
(runtime and driver API, kernels, memory copies, GPU idle time and
|
||||
GPU memory usage)
|
||||
- added support for cudaMemcpyDefault and synchronous peer-to-peer
|
||||
memory copies in CUDA library wrapper
|
||||
- added configure switches to enable/disable CUPTI and CUDA wrapping
|
||||
- fixed a bug in CUDA runtime wrapper initialization and thread creation
|
||||
- fixed a build bug occurred if CUDA and CUPTI found, but support for
|
||||
library tracing is disabled
|
||||
- fixed platform detection on BlueGene when configuring for the frontend
|
||||
- fixed detection of Cray compiler's OpenMP flag in configure
|
||||
- fixed detection of C++ runtime libraries for Cray and PGI 11.x compilers
|
||||
- fixed detection of MPI_IN_PLACE in configure
|
||||
- do not use RTLD_DEFAULT handle for dlsym() on CrayX? platforms;
|
||||
it's provided by dlfcn.h but not working (segmentation fault)
|
||||
- fixed conversion from MPI_Fint-arrays to MPI_Aint-arrays in Fortran
|
||||
MPI wrappers
|
||||
- fixed handling of empty MPI groups (MPI_GROUP_EMPTY)
|
||||
- fixed handling of MPI groups implicitly generated by MPI_Win_create
|
||||
- fixed order of OpenMP threads based on its id (omp_get_thread_num)
|
||||
- fixed parsing of filter file to consider non-rank-specific filter
|
||||
rules appearing after a rank selection for disabling
|
||||
- fixed handling of 'errno' in LIBC[-I/O] wrappers for statically linked
|
||||
applications
|
||||
- vtunify[-mpi]:
|
||||
- fixed potential memory corruption during enqueuing recv.
|
||||
messages for p2p message matching
|
||||
- vtunify-mpi:
|
||||
- fixed assertion in p2p message matching which occurred when
|
||||
processing local traces with disabled ranks
|
||||
- vtdyn:
|
||||
- load user-specified shared libraries (-s SHLIB) into the
|
||||
mutatee before starting the instrumentation; adds support for
|
||||
instrumenting shared libraries which are loaded during runtime
|
||||
- compiler wrappers:
|
||||
- fixed detection of MPI library linked in the path form
|
||||
(e.g. libmpi.a instead of -lmpi)
|
||||
- fixed corrupt library order when using vtnvcc for linking
|
||||
MPI/CUDA mixed programs
|
||||
- OPARI: (see tools/opari/ChangeLog:22)
|
||||
|
||||
5.12.1openmpi
|
||||
- updated version of internal OTF to 1.10.1openmpi
|
||||
- updated version of internal OTF to 1.10.1coelacanth
|
||||
(see extlib/otf/ChangeLog)
|
||||
- fixed detection of Open64 compilers for automatic instrumentation
|
||||
- fixed platform detection on BlueGene when configuring for the frontend
|
||||
- fixed build issues on MacOS using GCC v4.2
|
||||
- fixed non-increasing timestamps when flushing the trace buffer
|
||||
- fixed a bug in the MPI wrapper functions MPI_Gatherv and MPI_Scatterv
|
||||
|
@ -1,4 +1,4 @@
|
||||
Copyright (c) 2005-2011, ZIH, TU Dresden, Federal Republic of Germany
|
||||
Copyright (c) 2005-2012, ZIH, TU Dresden, Federal Republic of Germany
|
||||
|
||||
Copyright (c) 1998-2005, Forschungszentrum Juelich, Juelich Supercomputing
|
||||
Centre, Federal Republic of Germany
|
||||
|
@ -1 +1 @@
|
||||
5.12.1openmpi
|
||||
5.12.2openmpi
|
||||
|
@ -17,7 +17,6 @@ m4_include(config/m4/acinclude.getcpu.m4)
|
||||
m4_include(config/m4/acinclude.iowrap.m4)
|
||||
m4_include(config/m4/acinclude.java.m4)
|
||||
m4_include(config/m4/acinclude.jvmti.m4)
|
||||
m4_include(config/m4/acinclude.libc.m4)
|
||||
m4_include(config/m4/acinclude.libcwrap.m4)
|
||||
m4_include(config/m4/acinclude.libwrap.m4)
|
||||
m4_include(config/m4/acinclude.ltmpdir.m4)
|
||||
|
@ -15,3 +15,4 @@ enable_cpuidtrace="no"
|
||||
with_cross_prefix="bg"
|
||||
with_mpibgp="yes"
|
||||
with_cxxrtlib="-L/opt/ibmcmp/lib/bg/bglib -L/opt/ibmcmp/lib/bg/9.0/bglib -libmc++ -lstdc++"
|
||||
with_shlibc=/lib/libc.so.6
|
||||
|
@ -2,9 +2,15 @@ CC="cc"
|
||||
CXX="CC"
|
||||
F77="ftn"
|
||||
FC="ftn"
|
||||
CFLAGS="-target=$XTPE_COMPILE_TARGET"
|
||||
CXXFLAGS="-target=$XTPE_COMPILE_TARGET"
|
||||
FFLAGS="-target=$XTPE_COMPILE_TARGET"
|
||||
FCFLAGS="-target=$XTPE_COMPILE_TARGET"
|
||||
CFLAGS="-O3"
|
||||
CXXFLAGS="-O3"
|
||||
FFLAGS="-O3"
|
||||
FCFLAGS="-O3"
|
||||
if test x"$XTPE_COMPILE_TARGET" != x; then
|
||||
CFLAGS="$CFLAGS -target=$XTPE_COMPILE_TARGET"
|
||||
CXXFLAGS="$CXXFLAGS -target=$XTPE_COMPILE_TARGET"
|
||||
FFLAGS="$FFLAGS -target=$XTPE_COMPILE_TARGET"
|
||||
FCFLAGS="$FCFLAGS -target=$XTPE_COMPILE_TARGET"
|
||||
fi
|
||||
enable_shared="no"
|
||||
with_mpich2="yes"
|
||||
|
@ -2,10 +2,16 @@ CC="cc"
|
||||
CXX="CC"
|
||||
F77="ftn"
|
||||
FC="ftn"
|
||||
CFLAGS="-target=$XTPE_COMPILE_TARGET"
|
||||
CXXFLAGS="-target=$XTPE_COMPILE_TARGET"
|
||||
FFLAGS="-target=$XTPE_COMPILE_TARGET"
|
||||
FCFLAGS="-target=$XTPE_COMPILE_TARGET"
|
||||
CFLAGS="-O3"
|
||||
CXXFLAGS="-O3"
|
||||
FFLAGS="-O3"
|
||||
FCFLAGS="-O3"
|
||||
if test x"$XTPE_COMPILE_TARGET" != x; then
|
||||
CFLAGS="$CFLAGS -target=$XTPE_COMPILE_TARGET"
|
||||
CXXFLAGS="$CXXFLAGS -target=$XTPE_COMPILE_TARGET"
|
||||
FFLAGS="$FFLAGS -target=$XTPE_COMPILE_TARGET"
|
||||
FCFLAGS="$FCFLAGS -target=$XTPE_COMPILE_TARGET"
|
||||
fi
|
||||
enable_shared="no"
|
||||
with_mpich2="yes"
|
||||
with_libc=/lib64/libc-2.4.so
|
||||
with_shlibc=/lib64/libc-2.4.so
|
||||
|
@ -42,15 +42,15 @@ AC_CACHE_CHECK([for OpenMP flag of _AC_LANG compiler], ax_cv_[]_AC_LANG_ABBREV[]
|
||||
ax_cv_[]_AC_LANG_ABBREV[]_openmp=unknown
|
||||
# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI),
|
||||
# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX),
|
||||
# -Popenmp (NECSX), none
|
||||
# -Popenmp (NECSX), none (e.g. Cray)
|
||||
ax_openmp_flags="-fopenmp -openmp -mp -xopenmp -omp -qsmp=omp -Popenmp none"
|
||||
if test "x$OPENMP_[]_AC_LANG_PREFIX[]FLAGS" != x; then
|
||||
ax_openmp_flags="$OPENMP_[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flags"
|
||||
fi
|
||||
for ax_openmp_flag in $ax_openmp_flags; do
|
||||
case $ax_openmp_flag in
|
||||
none) []_AC_LANG_PREFIX[]FLAGS=$save[]_AC_LANG_PREFIX[] ;;
|
||||
*) []_AC_LANG_PREFIX[]FLAGS="$save[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flag" ;;
|
||||
none) []_AC_LANG_PREFIX[]FLAGS="$save[]_AC_LANG_PREFIX[]FLAGS" ;;
|
||||
*) []_AC_LANG_PREFIX[]FLAGS="$save[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flag" ;;
|
||||
esac
|
||||
AC_TRY_COMPILE([], [
|
||||
#ifndef _OPENMP
|
||||
|
@ -304,6 +304,15 @@ AC_DEFUN([ACVT_COMPWRAP],
|
||||
esac
|
||||
])
|
||||
|
||||
AS_IF([test "$PLATFORM" = "macos"],
|
||||
[
|
||||
VT_WRAPPER_CC_EXTRA_LINKER_FLAGS="$VT_WRAPPER_CC_EXTRA_LINKER_FLAGS -Wl,-force_flat_namespace"
|
||||
VT_WRAPPER_CXX_EXTRA_LINKER_FLAGS="$VT_WRAPPER_CXX_EXTRA_LINKER_FLAGS -Wl,-force_flat_namespace"
|
||||
VT_WRAPPER_F77_EXTRA_LINKER_FLAGS="$VT_WRAPPER_F77_EXTRA_LINKER_FLAGS -Wl,-force_flat_namespace"
|
||||
VT_WRAPPER_FC_EXTRA_LINKER_FLAGS="$VT_WRAPPER_FC_EXTRA_LINKER_FLAGS -Wl,-force_flat_namespace"
|
||||
VT_WRAPPER_NVCC_EXTRA_LINKER_FLAGS="$VT_WRAPPER_NVCC_EXTRA_LINKER_FLAGS -Wl,-force_flat_namespace"
|
||||
])
|
||||
|
||||
AS_IF([test "$PLATFORM" = "bgp" -a x"$enable_shared" = "xyes"],
|
||||
[
|
||||
VT_WRAPPER_CC_EXTRA_LINKER_FLAGS="$VT_WRAPPER_CC_EXTRA_LINKER_FLAGS -Wl,-dy"
|
||||
@ -344,7 +353,7 @@ AC_DEFUN([ACVT_COMPWRAP],
|
||||
VT_WRAPPER_CXX_COMPINST_COMPILER_FLAGS="$compinst_cxxflags"
|
||||
VT_WRAPPER_F77_COMPINST_COMPILER_FLAGS="$compinst_fflags"
|
||||
VT_WRAPPER_FC_COMPINST_COMPILER_FLAGS="$compinst_fcflags"
|
||||
VT_WRAPPER_NVCC_COMPINST_COMPILER_FLAGS="-Xcompiler=\"$compinst_cflags\""
|
||||
VT_WRAPPER_NVCC_COMPINST_COMPILER_FLAGS="$compinst_cflags"
|
||||
VT_WRAPPER_AVAIL_INST="$VT_WRAPPER_AVAIL_INST compinst"
|
||||
VT_WRAPPER_DEFAULT_INST="compinst"
|
||||
])
|
||||
@ -355,7 +364,7 @@ AC_DEFUN([ACVT_COMPWRAP],
|
||||
VT_WRAPPER_CXX_DYNINST_COMPILER_FLAGS="-g"
|
||||
VT_WRAPPER_F77_DYNINST_COMPILER_FLAGS="-g"
|
||||
VT_WRAPPER_FC_DYNINST_COMPILER_FLAGS="-g"
|
||||
VT_WRAPPER_NVCC_DYNINST_COMPILER_FLAGS="-Xcompiler=\"-g\""
|
||||
VT_WRAPPER_NVCC_DYNINST_COMPILER_FLAGS="-g"
|
||||
VT_WRAPPER_AVAIL_INST="$VT_WRAPPER_AVAIL_INST dyninst"
|
||||
])
|
||||
|
||||
|
@ -298,7 +298,7 @@ AC_DEFUN([ACVT_CONF_SUMMARY],
|
||||
[AS_IF([test x"$answer" != x],
|
||||
[answer="$answer, LIBC-I/O"],
|
||||
[answer="LIBC-I/O"])])
|
||||
AS_IF([test x"$have_cudawrap" = "xyes"],
|
||||
AS_IF([test x"$have_cudartwrap" = "xyes"],
|
||||
[AS_IF([test x"$answer" != x],
|
||||
[answer="$answer, CUDA"],
|
||||
[answer="CUDA"])])
|
||||
@ -306,6 +306,25 @@ AC_DEFUN([ACVT_CONF_SUMMARY],
|
||||
], [answer="no"])
|
||||
echo " Build Library trace support: $answer"
|
||||
|
||||
AS_IF([test x"$have_cupti" = "xyes"],
|
||||
[
|
||||
answer=
|
||||
AS_IF([test x"$have_cupti_callbacks" = "xyes"],
|
||||
[AS_IF([test x"$answer" != x],
|
||||
[answer="$answer, Callbacks"],
|
||||
[answer="Callbacks"])])
|
||||
AS_IF([test x"$have_cupti_activity" = "xyes"],
|
||||
[AS_IF([test x"$answer" != x],
|
||||
[answer="$answer, Activitiy"],
|
||||
[answer="Activitiy"])])
|
||||
AS_IF([test x"$have_cupti_events" = "xyes"],
|
||||
[AS_IF([test x"$answer" != x],
|
||||
[answer="$answer, Events"],
|
||||
[answer="Events"])])
|
||||
answer="yes ($answer)"
|
||||
echo " Build CUPTI support: $answer"
|
||||
])
|
||||
|
||||
AS_IF([test x"$have_libwrap" = "xyes"],
|
||||
[
|
||||
AS_IF([test x"$build_libwrapgen" = "xyes"],
|
||||
|
@ -66,30 +66,6 @@ AC_DEFUN([ACVT_CUDA],
|
||||
cuda_error="yes"
|
||||
])
|
||||
|
||||
AS_IF([test x"$cuda_error" = "xno"],
|
||||
[
|
||||
AC_MSG_CHECKING([whether CUDA driver version >= 3.0])
|
||||
|
||||
sav_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS="$CPPFLAGS $CUDATKINCDIR"
|
||||
AC_TRY_COMPILE([#include "cuda.h"],
|
||||
[
|
||||
#ifndef CUDA_VERSION
|
||||
# error "CUDA_VERSION not defined"
|
||||
#elif CUDA_VERSION < 3000
|
||||
# error "CUDA_VERSION < 3000"
|
||||
#endif
|
||||
],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_NOTICE([error: CUDA driver version could not be determined and/or is incompatible (< 3.0)
|
||||
See \`config.log' for more details.])
|
||||
cuda_error="yes"
|
||||
])
|
||||
CPPFLAGS=$sav_CPPFLAGS
|
||||
])
|
||||
|
||||
AS_IF([test x"$cudart_error" = "xno"],
|
||||
[
|
||||
sav_CPPFLAGS=$CPPFLAGS
|
||||
@ -155,5 +131,4 @@ See \`config.log' for more details.])
|
||||
|
||||
AC_SUBST(CUDATKINCDIR)
|
||||
AC_SUBST(CUDATKLIBDIR)
|
||||
AC_SUBST(CUDATKLIB)
|
||||
])
|
||||
|
@ -1,116 +1,70 @@
|
||||
AC_DEFUN([ACVT_CUDAWRAP],
|
||||
[
|
||||
have_cudawrap="no"
|
||||
check_cudart="yes"
|
||||
force_cudart="no"
|
||||
have_cudartwrap="no"
|
||||
|
||||
cudalib_pathname=
|
||||
cudartlib_pathname=
|
||||
cudartshlib_pathname=
|
||||
|
||||
AC_REQUIRE([ACVT_CUDA])
|
||||
AC_ARG_ENABLE(cudawrap,
|
||||
AC_HELP_STRING([--enable-cudawrap],
|
||||
[enable support for tracing CUDA via library wrapping, default: enable if found by configure]),
|
||||
[AS_IF([test x"$enableval" = "xyes"], [force_cudart="yes"], [check_cudart="no"])])
|
||||
|
||||
AS_IF([test x"$cudart_error" = "xno"],
|
||||
AS_IF([test "$check_cudart" = "yes"],
|
||||
[
|
||||
AC_ARG_WITH(cudart-shlib,
|
||||
AC_HELP_STRING([--with-cudart-shlib=CUDARTSHLIB], [give the pathname for the shared CUDA runtime library, default: automatically by configure]),
|
||||
[
|
||||
AS_IF([test x"$withval" = "xyes" -o x"$withval" = "xno"],
|
||||
[AC_MSG_ERROR([value of '--with-cudart-shlib' not properly set])])
|
||||
cudartlib_pathname=$withval
|
||||
])
|
||||
])
|
||||
AC_REQUIRE([ACVT_CUDA])
|
||||
|
||||
AS_IF([test x"$cudart_error" = "xno"],
|
||||
[
|
||||
AC_MSG_CHECKING([for pathname of CUDA runtime library])
|
||||
|
||||
AS_IF([test x"$cudartlib_pathname" != x],
|
||||
AS_IF([test x"$cudart_error" = "xno"],
|
||||
[
|
||||
AC_MSG_RESULT([skipped (--with-cudart-shlib=$cudartlib_pathname)])
|
||||
],
|
||||
[
|
||||
AS_IF([test x"$have_rtld_next" = "xyes"],
|
||||
AC_ARG_WITH(cudart-shlib,
|
||||
AC_HELP_STRING([--with-cudart-shlib=CUDARTSHLIB], [give the pathname for the shared CUDA runtime library, default: automatically by configure]),
|
||||
[
|
||||
AC_MSG_RESULT([not needed])
|
||||
AS_IF([test x"$withval" = "xyes" -o x"$withval" = "xno"],
|
||||
[AC_MSG_ERROR([value of '--with-cudart-shlib' not properly set])])
|
||||
cudartshlib_pathname=$withval
|
||||
])
|
||||
])
|
||||
|
||||
AS_IF([test x"$cudart_error" = "xno"],
|
||||
[
|
||||
AC_MSG_CHECKING([for pathname of shared CUDA runtime library])
|
||||
|
||||
AS_IF([test x"$cudartshlib_pathname" != x],
|
||||
[
|
||||
AC_MSG_RESULT([skipped (--with-cudart-shlib=$cudartshlib_pathname)])
|
||||
],
|
||||
[
|
||||
AS_IF([test x"$CUDATKLIBDIR" != x],
|
||||
[cudartlib_dir=`echo $CUDATKLIBDIR | sed s/\-L//`])
|
||||
cudartlib_pathname=$cudartlib_dir`echo $CUDARTLIB | sed s/\-l/lib/`".so"
|
||||
|
||||
AS_IF([! test -f $cudartlib_pathname],
|
||||
AS_IF([test x"$have_rtld_next" = "xyes"],
|
||||
[
|
||||
AC_MSG_RESULT([unknown])
|
||||
AC_MSG_NOTICE([error: could not determine pathname of CUDA runtime library])
|
||||
cudart_error="yes"
|
||||
AC_MSG_RESULT([not needed])
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([$cudartlib_pathname])
|
||||
AS_IF([test x"$CUDATKLIBDIR" != x],
|
||||
[cudartlib_dir=`echo $CUDATKLIBDIR | sed s/\-L//`])
|
||||
cudartshlib_pathname=$cudartlib_dir`echo $CUDARTLIB | sed s/\-l/lib/`".so"
|
||||
|
||||
AS_IF([! test -f $cudartshlib_pathname],
|
||||
[
|
||||
AC_MSG_RESULT([unknown])
|
||||
AC_MSG_NOTICE([error: could not determine pathname of shared CUDA runtime library])
|
||||
cudart_error="yes"
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([$cudartshlib_pathname])
|
||||
])
|
||||
])
|
||||
])
|
||||
])
|
||||
])
|
||||
|
||||
AS_IF([test x"$cudart_error" = "xno"],
|
||||
[
|
||||
AS_IF([test x"$cudartlib_pathname" != x],
|
||||
AS_IF([test x"$cudart_error" = "xno"],
|
||||
[
|
||||
AC_DEFINE_UNQUOTED([DEFAULT_CUDARTLIB_PATHNAME],
|
||||
["$cudartlib_pathname"], [pathname of CUDA runtime library])
|
||||
])
|
||||
have_cudartwrap="yes"
|
||||
])
|
||||
|
||||
|
||||
AS_IF([test x"$cuda_error" = "xno"],
|
||||
[
|
||||
AC_ARG_WITH(cuda-shlib,
|
||||
AC_HELP_STRING([--with-cuda-shlib=CUDASHLIB], [give the pathname for the shared CUDA driver library, default: automatically by configure]),
|
||||
[
|
||||
AS_IF([test x"$withval" = "xyes" -o x"$withval" = "xno"],
|
||||
[AC_MSG_ERROR([value of '--with-cuda-shlib' not properly set])])
|
||||
cudalib_pathname=$withval
|
||||
])
|
||||
])
|
||||
|
||||
AS_IF([test x"$cuda_error" = "xno"],
|
||||
[
|
||||
AC_MSG_CHECKING([for pathname of CUDA driver library])
|
||||
|
||||
AS_IF([test x"$cudalib_pathname" != x],
|
||||
[
|
||||
AC_MSG_RESULT([skipped (--with-cuda-shlib=$cudalib_pathname)])
|
||||
],
|
||||
[
|
||||
AS_IF([test x"$have_rtld_next" = "xyes"],
|
||||
AS_IF([test x"$cudartshlib_pathname" != x],
|
||||
[
|
||||
AC_MSG_RESULT([not needed])
|
||||
],
|
||||
[
|
||||
AS_IF([test x"$CUDATKLIBDIR" != x],
|
||||
[cudalib_dir=`echo $CUDATKLIBDIR | sed s/\-L//`])
|
||||
cudalib_pathname=$cudalib_dir`echo $CUDALIB | sed s/\-l/lib/`".so"
|
||||
|
||||
AS_IF([! test -f $cudalib_pathname],
|
||||
[
|
||||
AC_MSG_RESULT([unknown])
|
||||
AC_MSG_NOTICE([error: could not determine pathname of CUDA driver library])
|
||||
cuda_error="yes"
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([$cudalib_pathname])
|
||||
])
|
||||
AC_DEFINE_UNQUOTED([CUDARTSHLIB_PATHNAME],
|
||||
["$cudartshlib_pathname"], [pathname of shared CUDA runtime library])
|
||||
])
|
||||
have_cudartwrap="yes"
|
||||
])
|
||||
])
|
||||
|
||||
AS_IF([test x"$cuda_error" = "xno"],
|
||||
[
|
||||
AS_IF([test x"$cudalib_pathname" != x],
|
||||
[
|
||||
AC_DEFINE_UNQUOTED([DEFAULT_CUDALIB_PATHNAME],
|
||||
["$cudalib_pathname"], [pathname of CUDA driver library])
|
||||
])
|
||||
have_cudawrap="yes"
|
||||
])
|
||||
|
||||
])
|
||||
|
@ -1,7 +1,12 @@
|
||||
AC_DEFUN([ACVT_CUPTI],
|
||||
[
|
||||
cupti_error="no"
|
||||
check_cupti="yes"
|
||||
force_cupti="no"
|
||||
have_cupti="no"
|
||||
have_cupti_events="no"
|
||||
have_cupti_callbacks="no"
|
||||
have_cupti_activity="no"
|
||||
|
||||
CUPTIDIR=
|
||||
CUPTIINCDIR=
|
||||
@ -10,6 +15,11 @@ AC_DEFUN([ACVT_CUPTI],
|
||||
|
||||
AC_REQUIRE([ACVT_CUDA])
|
||||
|
||||
AC_ARG_ENABLE(cupti,
|
||||
AC_HELP_STRING([--enable-cupti],
|
||||
[enable support for tracing CUDA via CUPTI, default: enable if found by configure]),
|
||||
[AS_IF([test x"$enableval" = "xyes"], [force_cupti="yes"], [check_cupti="no"])])
|
||||
|
||||
AC_ARG_WITH(cupti-dir,
|
||||
AC_HELP_STRING([--with-cupti-dir=CUPTIDIR],
|
||||
[give the path for CUPTI, default: /usr]),
|
||||
@ -31,59 +41,73 @@ AC_DEFUN([ACVT_CUPTI],
|
||||
AC_HELP_STRING([--with-cupti-lib=CUPTILIB], [use given cupti lib, default: -lcupti CUDALIB]),
|
||||
[CUPTILIB="$withval"])
|
||||
|
||||
sav_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS="$CPPFLAGS $CUPTIINCDIR $CUDATKINCDIR"
|
||||
AC_CHECK_HEADER([cupti.h], [],
|
||||
AS_IF([test "$check_cupti" = "yes"],
|
||||
[
|
||||
AC_MSG_NOTICE([error: no cupti.h found; check path for CUPTI package first...])
|
||||
cupti_error="yes"
|
||||
])
|
||||
CPPFLAGS=$sav_CPPFLAGS
|
||||
|
||||
AS_IF([test x"$CUPTILIB" = x -a x"$cupti_error" = "xno"],
|
||||
[
|
||||
sav_LIBS=$LIBS
|
||||
LIBS="$LIBS $CUPTILIBDIR -lcupti $CUDATKLIBDIR $CUDALIB"
|
||||
AC_MSG_CHECKING([whether linking with -lcupti works])
|
||||
AC_TRY_LINK([],[],
|
||||
[AC_MSG_RESULT([yes]); CUPTILIB="-lcupti $CUDATKLIBDIR $CUDALIB"],[AC_MSG_RESULT([no])])
|
||||
LIBS=$sav_LIBS
|
||||
])
|
||||
|
||||
AS_IF([test x"$CUPTILIB" = x -a x"$cupti_error" = "xno"],
|
||||
[
|
||||
AC_MSG_NOTICE([error: no libcupti found; check path for CUPTI package first...])
|
||||
cupti_error="yes"
|
||||
])
|
||||
|
||||
AS_IF([test x"$cupti_error" = "xno"],
|
||||
[
|
||||
AC_MSG_CHECKING([whether CUDA runtime version >= 4.0])
|
||||
|
||||
sav_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS="$CPPFLAGS $CUDATKINCDIR"
|
||||
AC_TRY_COMPILE([#include "cuda_runtime_api.h"],
|
||||
[
|
||||
#ifndef CUDART_VERSION
|
||||
# error "CUDART_VERSION not defined"
|
||||
#elif CUDART_VERSION < 4000
|
||||
# error "CUDART_VERSION < 4000"
|
||||
#endif
|
||||
],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
CPPFLAGS="$CPPFLAGS $CUPTIINCDIR $CUDATKINCDIR"
|
||||
AC_CHECK_HEADER([cupti.h], [],
|
||||
[
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_NOTICE([error: CUDA runtime version could not be determined and/or is incompatible (< 4.0)
|
||||
See \`config.log' for more details.])
|
||||
AC_MSG_NOTICE([error: no cupti.h found; check path for CUPTI package first...])
|
||||
cupti_error="yes"
|
||||
])
|
||||
CPPFLAGS=$sav_CPPFLAGS
|
||||
])
|
||||
|
||||
AS_IF([test x"$cupti_error" = "xno"], [have_cupti="yes"])
|
||||
AS_IF([test x"$CUPTILIB" = x -a x"$cupti_error" = "xno"],
|
||||
[
|
||||
sav_LIBS=$LIBS
|
||||
LIBS="$LIBS $CUPTILIBDIR -lcupti $CUDATKLIBDIR $CUDALIB"
|
||||
AC_MSG_CHECKING([whether linking with -lcupti works])
|
||||
AC_TRY_LINK([],[],
|
||||
[AC_MSG_RESULT([yes]); CUPTILIB="-lcupti $CUDATKLIBDIR $CUDALIB"],[AC_MSG_RESULT([no])])
|
||||
LIBS=$sav_LIBS
|
||||
])
|
||||
|
||||
AS_IF([test x"$CUPTILIB" = x -a x"$cupti_error" = "xno"],
|
||||
[
|
||||
AC_MSG_NOTICE([error: no libcupti found; check path for CUPTI package first...])
|
||||
cupti_error="yes"
|
||||
])
|
||||
|
||||
AS_IF([test x"$cupti_error" = "xno"], [
|
||||
have_cupti="yes"
|
||||
|
||||
sav_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS="$CPPFLAGS $CUPTIINCDIR $CUDATKINCDIR"
|
||||
|
||||
AC_CHECK_HEADER([cupti_events.h], [
|
||||
AC_MSG_CHECKING([whether CUDA runtime version >= 4.0])
|
||||
AC_TRY_COMPILE([#include "cuda_runtime_api.h"],
|
||||
[
|
||||
#ifndef CUDART_VERSION
|
||||
# error "CUDART_VERSION not defined"
|
||||
#elif CUDART_VERSION < 4000
|
||||
# error "CUDART_VERSION < 4000"
|
||||
#endif
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([yes])
|
||||
have_cupti_events="yes"
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_NOTICE([error: CUDA runtime version could not be determined and/or is incompatible (< 4.0)
|
||||
See \`config.log' for more details.])
|
||||
])
|
||||
],[
|
||||
AC_MSG_NOTICE([error: no cupti_events.h found])
|
||||
])
|
||||
AC_CHECK_HEADER([cupti_callbacks.h], [have_cupti_callbacks="yes"],
|
||||
[
|
||||
AC_MSG_NOTICE([error: no cupti_callbacks.h found])
|
||||
])
|
||||
AC_CHECK_HEADER([cupti_activity.h], [have_cupti_activity="yes"],
|
||||
[
|
||||
AC_MSG_NOTICE([error: no cupti_activity.h found])
|
||||
])
|
||||
CPPFLAGS=$sav_CPPFLAGS
|
||||
])
|
||||
])
|
||||
|
||||
AC_SUBST(CUPTIINCDIR)
|
||||
AC_SUBST(CUPTILIBDIR)
|
||||
AC_SUBST(CUPTILIB)
|
||||
])
|
||||
|
||||
|
@ -35,9 +35,12 @@ AC_DEFUN([ACVT_CXXRTLIB],
|
||||
-lC \
|
||||
-lstd;-lC \
|
||||
-lstd;-lC;-lzceh \
|
||||
-lstdz;-lCz;-lzceh \
|
||||
-lstdz;-lCz;-lzceh;-lgcc_eh \
|
||||
-lstdc++;-lm;-lc \
|
||||
-limf;-lm;-lipgo;-lstdc++;-lirc;-lipr;-lirc;-lc;-lirc_s;-ldl;-lc \
|
||||
-lC++"
|
||||
-lC++ \
|
||||
-lcray-c++-rts;-lcraystdc++"
|
||||
|
||||
AS_IF([test x"$cxxrtlib_error" = "xno"],
|
||||
[
|
||||
@ -59,6 +62,6 @@ AC_DEFUN([ACVT_CXXRTLIB],
|
||||
])
|
||||
|
||||
AS_IF([test x"$cxxrtlib_error" = "xno"],
|
||||
[AC_MSG_RESULT([$cxxrtlib])], [AC_MSG_RESULT([failed])])
|
||||
[AC_MSG_RESULT([$cxxrtlib])], [AC_MSG_RESULT([unknown])])
|
||||
])
|
||||
|
||||
|
@ -40,8 +40,14 @@ AC_DEFUN([ACVT_DL],
|
||||
])
|
||||
AS_IF([test "$PLATFORM" = "bgp"],
|
||||
[
|
||||
dnl RTLD_NEXT available but not working on BG/P platforms
|
||||
ac_cv_have_decl_RTLD_NEXT="no"
|
||||
])
|
||||
AS_IF([test "$PLATFORM" = "crayxt" -o "$PLATFORM" = "crayxe"],
|
||||
[
|
||||
dnl RTLD_DEFAULT available but not working on CrayX? platforms
|
||||
ac_cv_have_decl_RTLD_DEFAULT="no"
|
||||
])
|
||||
|
||||
AS_IF([test x"$dl_error" = "xno"],
|
||||
[
|
||||
|
@ -3,8 +3,11 @@ AC_DEFUN([ACVT_IOWRAP],
|
||||
iowrap_error="no"
|
||||
have_iowrap="no"
|
||||
|
||||
AS_IF([test x"$libc_error" = x], [ACVT_LIBC])
|
||||
AS_IF([test x"$libc_pathname" = x], [iowrap_error="yes"])
|
||||
AS_IF([test x"$shlibc_pathname" = x],
|
||||
[
|
||||
AC_MSG_NOTICE([error: pathname of shared LIBC required for LIBC-I/O tracing; please specify it by --with-shlibc])
|
||||
iowrap_error="yes"
|
||||
])
|
||||
|
||||
AS_IF([test x"$iowrap_error" = "xno"],
|
||||
[
|
||||
|
@ -1,60 +0,0 @@
|
||||
AC_DEFUN([ACVT_LIBC],
|
||||
[
|
||||
libc_error="no"
|
||||
|
||||
libc_pathname=
|
||||
|
||||
AC_REQUIRE([ACVT_PLATFORM])
|
||||
|
||||
AC_ARG_WITH(libc,
|
||||
AC_HELP_STRING([--with-libc=NAME],
|
||||
[give the pathname for LIBC, default: automatically by configure]),
|
||||
[
|
||||
AS_IF([test x"$withval" = "xyes" -o x"$withval" = "xno"],
|
||||
[AC_MSG_ERROR([value of '--with-libc' not properly set])])
|
||||
libc_pathname=$withval
|
||||
])
|
||||
|
||||
AC_MSG_CHECKING([for LIBC's pathname])
|
||||
|
||||
AS_IF([test x"$libc_pathname" = x],
|
||||
[
|
||||
AS_IF([test "$PLATFORM" = "bgp"],
|
||||
[
|
||||
libc_pathname="/lib/libc.so.6"
|
||||
],
|
||||
[
|
||||
rm -f conftest
|
||||
AC_TRY_LINK([], [],
|
||||
[
|
||||
AS_IF([test -r "conftest"],
|
||||
[
|
||||
libc_pathname=`ldd conftest 2>/dev/null | grep "libc\." | \
|
||||
sed -e "s/.*=>//" \
|
||||
-e "s/[ [\(].*[\)]]//" \
|
||||
-e "s/[[[:space:]]]//g" | \
|
||||
head -n1`
|
||||
],
|
||||
[
|
||||
libc_error="yes"
|
||||
])
|
||||
],
|
||||
[
|
||||
libc_error="yes"
|
||||
])
|
||||
])
|
||||
])
|
||||
|
||||
AS_IF([test x"$libc_pathname" != x -a x"$libc_error" = "xno"],
|
||||
[
|
||||
AC_MSG_RESULT([$libc_pathname])
|
||||
AC_DEFINE_UNQUOTED([DEFAULT_LIBC_PATHNAME],
|
||||
["$libc_pathname"], [default pathname of LIBC])
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([unknown])
|
||||
AC_MSG_NOTICE([error: could not determine pathname of LIBC])
|
||||
libc_error="yes"
|
||||
])
|
||||
])
|
||||
|
@ -4,8 +4,11 @@ AC_DEFUN([ACVT_LIBCWRAP],
|
||||
have_libcwrap="no"
|
||||
have_fork="no"
|
||||
|
||||
AS_IF([test x"$libc_error" = x], [ACVT_LIBC])
|
||||
AS_IF([test x"$libc_pathname" = x], [libcwrap_error="yes"])
|
||||
AS_IF([test x"$shlibc_pathname" = x],
|
||||
[
|
||||
AC_MSG_NOTICE([error: pathname of shared LIBC required for LIBC tracing; please specify it by --with-shlibc])
|
||||
libcwrap_error="yes"
|
||||
])
|
||||
|
||||
AS_IF([test x"$libcwrap_error" = "xno"],
|
||||
[
|
||||
|
@ -9,7 +9,9 @@ AC_DEFUN([ACVT_LIBWRAP],
|
||||
build_libwrapgen="no"
|
||||
force_libcwrap="no"
|
||||
force_iowrap="no"
|
||||
force_cudawrap="no"
|
||||
force_cudartwrap="no"
|
||||
|
||||
shlibc_pathname=
|
||||
|
||||
AC_REQUIRE([ACVT_PLATFORM])
|
||||
|
||||
@ -35,7 +37,7 @@ AC_DEFUN([ACVT_LIBWRAP],
|
||||
force_iowrap="yes"
|
||||
;;
|
||||
cuda)
|
||||
force_cudawrap="yes"
|
||||
force_cudartwrap="yes"
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([value of '--enable-libtrace' not properly set])
|
||||
@ -46,6 +48,15 @@ AC_DEFUN([ACVT_LIBWRAP],
|
||||
])
|
||||
])
|
||||
|
||||
AC_ARG_WITH(shlibc,
|
||||
AC_HELP_STRING([--with-shlibc=SHLIBC],
|
||||
[give the pathname for shared LIBC, default: automatically by configure]),
|
||||
[
|
||||
AS_IF([test x"$withval" = "xyes" -o x"$withval" = "xno"],
|
||||
[AC_MSG_ERROR([value of '--with-shlibc' not properly set])])
|
||||
shlibc_pathname=$withval
|
||||
])
|
||||
|
||||
AS_IF([test x"$check_libwrap" != "xno"],
|
||||
[
|
||||
AS_IF([test "$PLATFORM" = "bgp" -a x"$enable_shared" = "xno"],
|
||||
@ -62,6 +73,36 @@ AC_DEFUN([ACVT_LIBWRAP],
|
||||
|
||||
AS_IF([test x"$libwrap_error" = "xno"],
|
||||
[
|
||||
AC_MSG_CHECKING([for shared LIBC's pathname])
|
||||
|
||||
AS_IF([test x"$shlibc_pathname" = x],
|
||||
[
|
||||
rm -f conftest
|
||||
AC_TRY_LINK([], [],
|
||||
[
|
||||
AS_IF([test -r "conftest"],
|
||||
[
|
||||
shlibc_pathname=`ldd conftest 2>/dev/null | grep "libc\." | \
|
||||
sed -e "s/.*=>//" \
|
||||
-e "s/[ [\(].*[\)]]//" \
|
||||
-e "s/[[[:space:]]]//g" | \
|
||||
head -n1`
|
||||
])
|
||||
])
|
||||
])
|
||||
|
||||
AS_IF([test x"$shlibc_pathname" != x],
|
||||
[
|
||||
AC_MSG_RESULT([$shlibc_pathname])
|
||||
AC_DEFINE_UNQUOTED([SHLIBC_PATHNAME],
|
||||
["$shlibc_pathname"], [pathname of shared LIBC])
|
||||
|
||||
AC_CHECK_DECLS([__errno_location], [], [], [#include <errno.h>])
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([unknown])
|
||||
])
|
||||
|
||||
for lw in $check_libwrap
|
||||
do
|
||||
case $lw in
|
||||
@ -94,11 +135,11 @@ AC_DEFUN([ACVT_LIBWRAP],
|
||||
])
|
||||
;;
|
||||
cuda)
|
||||
ACVT_CONF_SUBTITLE([CUDA])
|
||||
ACVT_CONF_SUBTITLE([CUDAWRAP])
|
||||
ACVT_CUDAWRAP
|
||||
AS_IF([test x"$have_cudartwrap" = "xyes"], [have_libwrap="yes"],
|
||||
[
|
||||
AS_IF([test x"$force_cudawrap" = "xyes"],
|
||||
AS_IF([test x"$force_cudartwrap" = "xyes"],
|
||||
[libwrap_error="yes"; break])
|
||||
])
|
||||
;;
|
||||
|
@ -705,6 +705,12 @@ dnl check for MPI-2
|
||||
CPPFLAGS="$CPPFLAGS $MPICFLAGS $MPIINCDIR"
|
||||
LIBS="$LIBS $MPILIBDIR $MPILIB $PMPILIB"
|
||||
|
||||
dnl check for MPI-2 constants
|
||||
|
||||
ACVT_CONF_SUBTITLE([MPI-2 constants])
|
||||
|
||||
AC_CHECK_DECLS([MPI_IN_PLACE], [], [], [#include "mpi.h"])
|
||||
|
||||
dnl check for MPI-2 functions
|
||||
|
||||
ACVT_CONF_SUBTITLE([MPI-2 functions])
|
||||
|
@ -30,7 +30,7 @@ AC_DEFUN([ACVT_OTF],
|
||||
[AS_IF([test x"$OTFDIR" != x], [OTFLIBDIR="-L$OTFDIR"lib/])])
|
||||
|
||||
AC_ARG_WITH(otf-lib,
|
||||
AC_HELP_STRING([--with-otf-lib=OTFLIB], [use given otf lib, default: -lotf -lz]),
|
||||
AC_HELP_STRING([--with-otf-lib=OTFLIB], [use given otf lib, default: -lotf ZLIBLIBDIR ZLIBLIB]),
|
||||
[OTFLIB="$withval"])
|
||||
|
||||
AC_ARG_WITH(otf-flags,
|
||||
@ -122,7 +122,7 @@ dnl [otf_conf_args="$otf_conf_args --with-mpi-inc-dir=`echo $MPIINCDIR | sed
|
||||
AS_IF([test x"$MPILIBDIR" != x],
|
||||
[otf_conf_args="$otf_conf_args --with-mpi-lib-dir=`echo $MPILIBDIR | sed s/-L//`"])
|
||||
AS_IF([test x"$MPILIB" != x],
|
||||
[otf_conf_args="$otf_conf_args --with-mpi-lib=$MPILIB"])
|
||||
[otf_conf_args="$otf_conf_args --with-mpi-lib=\"$MPILIB\""])
|
||||
])
|
||||
],
|
||||
[
|
||||
@ -139,7 +139,7 @@ dnl [otf_conf_args="$otf_conf_args --with-mpi-inc-dir=`echo $MPIINCDIR | sed
|
||||
AS_IF([test x"$ZLIBLIBDIR" != x],
|
||||
[otf_conf_args="$otf_conf_args --with-zlib-lib-dir=`echo $ZLIBLIBDIR | sed s/-L//`"])
|
||||
AS_IF([test x"$ZLIBLIB" != x],
|
||||
[otf_conf_args="$otf_conf_args --with-zlib-lib=$ZLIBLIB"])
|
||||
[otf_conf_args="$otf_conf_args --with-zlib-lib=\"$ZLIBLIB\""])
|
||||
],
|
||||
[
|
||||
otf_conf_args="$otf_conf_args --without-zlib"
|
||||
|
@ -84,32 +84,31 @@ AC_DEFUN([ACVT_TIMER],
|
||||
AC_DEFINE([TIMER_RTC], [2], [RTC (DOES NOT WORK YET WITH FORTRAN CODES)])
|
||||
timer=TIMER_GETTIMEOFDAY
|
||||
;;
|
||||
crayxt)
|
||||
crayxt | crayxe)
|
||||
AC_DEFINE([TIMER_CLOCK_GETTIME], [1], [Use `clock_gettime' function])
|
||||
AC_DEFINE([TIMER_CYCLE_COUNTER], [2], [Cycle counter (e.g. TSC)])
|
||||
AC_DEFINE([TIMER_GETTIMEOFDAY], [3], [Use `gettimeofday' function])
|
||||
timer=TIMER_CYCLE_COUNTER
|
||||
AS_IF([test x`basename $CC` = "xcraycc"],
|
||||
[timer=TIMER_GETTIMEOFDAY])
|
||||
|
||||
AC_TRY_COMPILE([],
|
||||
case `$CC -V 2>&1` in
|
||||
*Cray*) timer=TIMER_GETTIMEOFDAY ;;
|
||||
esac
|
||||
|
||||
AS_IF([test $PLATFORM = "crayxt"],
|
||||
[
|
||||
AC_TRY_COMPILE([],
|
||||
[
|
||||
#ifndef __LIBCATAMOUNT__
|
||||
# error "__LIBCATAMOUNT__ not defined"
|
||||
#endif
|
||||
],
|
||||
[AC_CHECK_HEADERS([catamount/dclock.h],
|
||||
[AC_CHECK_HEADERS([catamount/data.h],
|
||||
[
|
||||
AC_DEFINE([TIMER_DCLOCK], [4], [Use `dclock' function])
|
||||
timer=TIMER_DCLOCK
|
||||
])])])
|
||||
;;
|
||||
crayxe)
|
||||
AC_DEFINE([TIMER_CLOCK_GETTIME], [1], [Use `clock_gettime' function])
|
||||
AC_DEFINE([TIMER_CYCLE_COUNTER], [2], [Cycle counter (e.g. TSC)])
|
||||
AC_DEFINE([TIMER_GETTIMEOFDAY], [3], [Use `gettimeofday' function])
|
||||
timer=TIMER_CYCLE_COUNTER
|
||||
[AC_CHECK_HEADERS([catamount/dclock.h],
|
||||
[AC_CHECK_HEADERS([catamount/data.h],
|
||||
[
|
||||
AC_DEFINE([TIMER_DCLOCK], [4], [Use `dclock' function])
|
||||
timer=TIMER_DCLOCK
|
||||
])])])
|
||||
])
|
||||
;;
|
||||
origin)
|
||||
AC_DEFINE([TIMER_CLOCK_GETTIME], [1], [Use `clock_gettime' function])
|
||||
|
@ -21,7 +21,7 @@ AC_DEFUN([ACVT_ZLIB],
|
||||
|
||||
AC_ARG_WITH(zlib-inc-dir,
|
||||
AC_HELP_STRING([--with-zlib-inc-dir=ZLIBINCDIR],
|
||||
[give the path for ZLIB-include files, default: ZLIB/include]),
|
||||
[give the path for ZLIB-include files, default: ZLIBDIR/include]),
|
||||
[ZLIBINCDIR="-I$withval/"],
|
||||
[AS_IF([test x"$ZLIBDIR" != x], [ZLIBINCDIR="-I$ZLIBDIR"include/])])
|
||||
|
||||
|
@ -51,7 +51,7 @@ cat <<End-of-File >$tmp.c
|
||||
* VampirTrace
|
||||
* http://www.tu-dresden.de/zih/vampirtrace
|
||||
*
|
||||
* Copyright (c) 2005-2011, ZIH, TU Dresden, Federal Republic of Germany
|
||||
* Copyright (c) 2005-2012, ZIH, TU Dresden, Federal Republic of Germany
|
||||
*
|
||||
* Copyright (c) 1998-2005, Forschungszentrum Juelich, Juelich Supercomputing
|
||||
* Centre, Federal Republic of Germany
|
||||
|
@ -63,7 +63,7 @@ cat <<End-of-File >$tmp.c
|
||||
* VampirTrace
|
||||
* http://www.tu-dresden.de/zih/vampirtrace
|
||||
*
|
||||
* Copyright (c) 2005-2011, ZIH, TU Dresden, Federal Republic of Germany
|
||||
* Copyright (c) 2005-2012, ZIH, TU Dresden, Federal Republic of Germany
|
||||
*
|
||||
* Copyright (c) 1998-2005, Forschungszentrum Juelich, Juelich Supercomputing
|
||||
* Centre, Federal Republic of Germany
|
||||
@ -95,6 +95,15 @@ cat <<End-of-File >$tmp.awk
|
||||
next
|
||||
}
|
||||
|
||||
aint_convert=1
|
||||
|
||||
if (index(mpicall,"MPI_Type_create_hindexed") != 0 ||
|
||||
index(mpicall,"MPI_Type_create_hvector") != 0 ||
|
||||
index(mpicall,"MPI_Type_create_struct") != 0)
|
||||
{
|
||||
aint_convert=0
|
||||
}
|
||||
|
||||
optional=0
|
||||
|
||||
if (index(mpicall,"MPI_Add_error_class") != 0) {
|
||||
@ -275,6 +284,9 @@ cat <<End-of-File >$tmp.awk
|
||||
# by MPI_Fint.
|
||||
# -------------------------------------------------
|
||||
function converttype(type) {
|
||||
if (aint_convert)
|
||||
gsub("MPI_Aint","MPI_Fint",type)
|
||||
|
||||
if (ENVIRON["COMM_CONVERT"] == 1)
|
||||
gsub("MPI_Comm","MPI_Fint",type)
|
||||
|
||||
@ -324,6 +336,9 @@ function print_convert_function(type,para,decl) {
|
||||
if (type == "char*") {
|
||||
if (decl) printf" char* %sC = NULL;\n", para
|
||||
else printf" vt_string_f2c(%s, %s_len, &%sC);\n", para, para, para
|
||||
} else if (aint_convert && (index(type,"MPI_Aint")) > 0) {
|
||||
if (decl) printf" MPI_Aint %sC;\n",para
|
||||
else printf" %sC = (MPI_Aint)%s%s;\n",para,pointer,para
|
||||
} else if ((ENVIRON["COMM_CONVERT"] == 1) && (index(type,"MPI_Comm") > 0)) {
|
||||
if (decl) printf" MPI_Comm %sC;\n", para
|
||||
else printf" %sC = MPI_Comm_f2c(%s%s);\n",para,pointer,para
|
||||
@ -375,6 +390,8 @@ function print_convert_function(type,para,decl) {
|
||||
|
||||
if (type == "char*") {
|
||||
if (decl) printf " char %sC[1024];\n", para
|
||||
} else if (aint_convert && (index(type,"MPI_Aint") > 0)) {
|
||||
if (decl) printf" MPI_Aint %sC;\n",para
|
||||
} else if ((ENVIRON["COMM_CONVERT"] == 1) && (index(type,"MPI_Comm") > 0)) {
|
||||
if (decl) printf" MPI_Comm %sC;\n",para
|
||||
else printf" %sC = MPI_COMM_NULL;\n",para
|
||||
@ -433,7 +450,13 @@ function print_convert_function(type,para,decl) {
|
||||
len_parameter = lentemp[2]
|
||||
|
||||
#now we have to handle all the imaginable handles
|
||||
if ((ENVIRON["COMM_CONVERT"] == 1) && (index(type,"MPI_Comm") > 0)) {
|
||||
if (aint_convert && (index(type,"MPI_Aint") > 0)) {
|
||||
if (decl) {
|
||||
printf" MPI_Aint* %sC;\n",para
|
||||
} else {
|
||||
printf" %sC = (MPI_Aint*)malloc(sizeof(MPI_Aint)*(*%s));\n",para,len_parameter
|
||||
}
|
||||
} else if ((ENVIRON["COMM_CONVERT"] == 1) && (index(type,"MPI_Comm") > 0)) {
|
||||
if (decl) {
|
||||
printf" MPI_Comm* %sC;\n",para
|
||||
} else {
|
||||
@ -538,7 +561,12 @@ function print_convert_function(type,para,decl) {
|
||||
len_parameter = lentemp[2]
|
||||
|
||||
#now we have to handle all the imaginable handles
|
||||
if ((ENVIRON["COMM_CONVERT"] == 1) && (index(type,"MPI_Comm") > 0)) {
|
||||
if (aint_convert && (index(type,"MPI_Aint") > 0)) {
|
||||
if (!decl) {
|
||||
printf" for (i = 0; i < *%s; i++) \n",len_parameter
|
||||
printf" %sC[i] = (MPI_Aint)%s[i];\n",para,para
|
||||
}
|
||||
} else if ((ENVIRON["COMM_CONVERT"] == 1) && (index(type,"MPI_Comm") > 0)) {
|
||||
if (!decl) {
|
||||
printf" for (i = 0; i < *%s; i++) \n",len_parameter
|
||||
printf" %sC[i] = MPI_Comm_f2c(%s[i]);\n",para,para
|
||||
@ -617,6 +645,9 @@ function print_back_convert_function(type,para) {
|
||||
if (type == "char*")
|
||||
printf" vt_string_c2f(%sC, %s, %s_len);\n", para, para, para
|
||||
|
||||
if (aint_convert && (index(type,"MPI_Aint") > 0))
|
||||
printf" *%s = (MPI_Fint)%sC;\n",para,para
|
||||
|
||||
if ((ENVIRON["COMM_CONVERT"] == 1) && (index(type,"MPI_Comm") > 0))
|
||||
printf" *%s = MPI_Comm_c2f(%sC);\n",para,para
|
||||
|
||||
@ -665,6 +696,13 @@ function print_back_convert_function(type,para) {
|
||||
len_parameter = lentemp[2]
|
||||
|
||||
#now we have to handle all the imaginable handles
|
||||
if (aint_convert && (index(type,"MPI_Aint") > 0)) {
|
||||
printf" if ( *%s != MPI_UNDEFINED )\n {\n",len_parameter
|
||||
printf" for (i = 0; i < *%s; i++) \n",len_parameter
|
||||
printf" %s[i] = (MPI_Fint)%sC[i];\n",para,para
|
||||
printf" }\n"
|
||||
}
|
||||
|
||||
if ((ENVIRON["COMM_CONVERT"] == 1) && (index(type,"MPI_Comm") > 0)) {
|
||||
printf" if ( *%s != MPI_UNDEFINED )\n {\n",len_parameter
|
||||
printf" for (i = 0; i < *%s; i++) \n",len_parameter
|
||||
@ -740,17 +778,18 @@ function print_back_convert_function(type,para) {
|
||||
if ( (index(para,"_CLASS_ARRAY_") != 0) &&
|
||||
(index(type,"MPI_Status") == 0) )
|
||||
{
|
||||
if ( ((index(type,"MPI_Comm") != 0) && (ENVIRON["COMM_CONVERT"] == 1)) ||
|
||||
((index(type,"MPI_Errhandler") != 0) && (ENVIRON["ERRHANDLER_CONVERT"] == 1)) ||
|
||||
((index(type,"MPI_File") != 0) && (ENVIRON["FILE_CONVERT"] == 1)) ||
|
||||
((index(type,"MPI_Group") != 0) && (ENVIRON["GROUP_CONVERT"] == 1)) ||
|
||||
((index(type,"MPI_Info") != 0) && (ENVIRON["INFO_CONVERT"] == 1)) ||
|
||||
((index(type,"MPI_Op") != 0) && (ENVIRON["OP_CONVERT"] == 1)) ||
|
||||
((index(type,"MPI_Datatype") != 0) && (ENVIRON["TYPE_CONVERT"] == 1)) ||
|
||||
((index(type,"MPI_Win") != 0) && (ENVIRON["WIN_CONVERT"] == 1)) )
|
||||
{
|
||||
printf " free(%sC);\n",para
|
||||
}
|
||||
if ((aint_convert && (index(type,"MPI_Aint") > 0)) ||
|
||||
((ENVIRON["COMM_CONVERT"] == 1) && (index(type,"MPI_Comm") > 0)) ||
|
||||
((ENVIRON["ERRH_CONVERT"] == 1) && (index(type,"MPI_Errhandler") > 0)) ||
|
||||
((ENVIRON["FILE_CONVERT"] == 1) && (index(type,"MPI_File") > 0)) ||
|
||||
((ENVIRON["GROUP_CONVERT"] == 1) && (index(type,"MPI_Group") > 0)) ||
|
||||
((ENVIRON["INFO_CONVERT"] == 1) && (index(type,"MPI_Info") > 0)) ||
|
||||
((ENVIRON["OP_CONVERT"] == 1) && (index(type,"MPI_Op") > 0)) ||
|
||||
((ENVIRON["TYPE_CONVERT"] == 1) && (index(type,"MPI_Datatype") > 0)) ||
|
||||
((ENVIRON["WIN_CONVERT"] == 1) && (index(type,"MPI_Win") > 0)) )
|
||||
{
|
||||
printf " free(%sC);\n",para
|
||||
}
|
||||
}
|
||||
|
||||
#free the array memory for statuses
|
||||
@ -767,8 +806,8 @@ function print_back_convert_function(type,para) {
|
||||
(index(type,"MPI_Status") != 0) &&
|
||||
(ENVIRON["STATUS_CONVERT"] == 1) )
|
||||
{
|
||||
printf " if ( (%s != VT_MPI_F_STATUS_IGNORE) && (%s != VT_MPI_F_STATUSES_IGNORE) )\n",para,para
|
||||
printf " free(%sC);\n",para
|
||||
printf " if ( (%s != VT_MPI_F_STATUS_IGNORE) && (%s != VT_MPI_F_STATUSES_IGNORE) )\n",para,para
|
||||
printf " free(%sC);\n",para
|
||||
}
|
||||
|
||||
#free string memory
|
||||
@ -801,17 +840,20 @@ function get_converted_name(para,type) {
|
||||
address="&"
|
||||
|
||||
#handle conversion
|
||||
if ( ((ENVIRON["COMM_CONVERT"] == 1)&&(index(type,"MPI_Comm") > 0)) ||
|
||||
((ENVIRON["ERRH_CONVERT"] == 1)&&(index(type,"MPI_Errhandler") > 0)) ||
|
||||
((ENVIRON["FILE_CONVERT"] == 1)&&(index(type,"MPI_File") > 0)) ||
|
||||
((ENVIRON["GROUP_CONVERT"] == 1)&&(index(type,"MPI_Group") > 0)) ||
|
||||
((ENVIRON["INFO_CONVERT"] == 1)&&(index(type,"MPI_Info") > 0)) ||
|
||||
((ENVIRON["OP_CONVERT"] == 1)&&(index(type,"MPI_Op") > 0)) ||
|
||||
((ENVIRON["TYPE_CONVERT"] == 1)&&(index(type,"MPI_Datatype") > 0)) ||
|
||||
((ENVIRON["WIN_CONVERT"] == 1)&&(index(type,"MPI_Win") > 0)) ||
|
||||
((ENVIRON["REQUEST_CONVERT"] == 1)&&(index(type,"MPI_Request") > 0)) ||
|
||||
(index(type,"MPI_Status") > 0) )
|
||||
if ((aint_convert && (index(type,"MPI_Aint") > 0)) ||
|
||||
((ENVIRON["COMM_CONVERT"] == 1) && (index(type,"MPI_Comm") > 0)) ||
|
||||
((ENVIRON["ERRH_CONVERT"] == 1) && (index(type,"MPI_Errhandler") > 0)) ||
|
||||
((ENVIRON["FILE_CONVERT"] == 1) && (index(type,"MPI_File") > 0)) ||
|
||||
((ENVIRON["GROUP_CONVERT"] == 1) && (index(type,"MPI_Group") > 0)) ||
|
||||
((ENVIRON["INFO_CONVERT"] == 1) && (index(type,"MPI_Info") > 0)) ||
|
||||
((ENVIRON["OP_CONVERT"] == 1) && (index(type,"MPI_Op") > 0)) ||
|
||||
((ENVIRON["TYPE_CONVERT"] == 1) && (index(type,"MPI_Datatype") > 0)) ||
|
||||
((ENVIRON["WIN_CONVERT"] == 1) && (index(type,"MPI_Win") > 0)) ||
|
||||
((ENVIRON["REQUEST_CONVERT"] == 1) && (index(type,"MPI_Request") > 0)) ||
|
||||
(index(type,"MPI_Status") > 0) )
|
||||
{
|
||||
return address para "C"
|
||||
}
|
||||
|
||||
#it is not a handle type so normal handling
|
||||
return pointer para
|
||||
|
@ -51,7 +51,7 @@ cat <<End-of-File >$tmp.h
|
||||
* VampirTrace
|
||||
* http://www.tu-dresden.de/zih/vampirtrace
|
||||
*
|
||||
* Copyright (c) 2005-2011, ZIH, TU Dresden, Federal Republic of Germany
|
||||
* Copyright (c) 2005-2012, ZIH, TU Dresden, Federal Republic of Germany
|
||||
*
|
||||
* Copyright (c) 1998-2005, Forschungszentrum Juelich, Juelich Supercomputing
|
||||
* Centre, Federal Republic of Germany
|
||||
@ -100,7 +100,7 @@ cat <<End-of-File >$tmp.c
|
||||
* VampirTrace
|
||||
* http://www.tu-dresden.de/zih/vampirtrace
|
||||
*
|
||||
* Copyright (c) 2005-2011, ZIH, TU Dresden, Federal Republic of Germany
|
||||
* Copyright (c) 2005-2012, ZIH, TU Dresden, Federal Republic of Germany
|
||||
*
|
||||
* Copyright (c) 1998-2005, Forschungszentrum Juelich, Juelich Supercomputing
|
||||
* Centre, Federal Republic of Germany
|
||||
|
@ -210,7 +210,7 @@ AC_SUBST(SHREXT)
|
||||
# to linker flags on BlueGene/P platforms to lead libtool to believe that
|
||||
# dynamic linking is the default behaviour of the linker.
|
||||
AS_IF([test "$PLATFORM" = "bgp" -a x"$enable_shared" = "xyes"],
|
||||
[export LDFLAGS="$LDFLAGS -Wl,-dy"])
|
||||
[export LDFLAGS="$LDFLAGS $lt_prog_compiler_wl-dy"])
|
||||
|
||||
# Check for BSD compatible symbol lister command
|
||||
#AC_PROG_NM # already been checked by AC_PROG_LIBTOOL
|
||||
@ -381,8 +381,11 @@ AS_IF([test x"$enable_config_titles" = "xyes" -a x"$check_getcpu" = "xno"],
|
||||
AS_IF([test x"$force_getcpu" = "xyes" -a x"$getcpu_error" = "xyes"], [exit 1])
|
||||
AM_CONDITIONAL(AMHAVEGETCPU, test x"$have_getcpu" = "xyes")
|
||||
|
||||
#Check for NVIDIA CUDA support
|
||||
ACVT_CONF_TITLE([NVIDIA CUDA])
|
||||
|
||||
#Check for CUDA Toolkit
|
||||
ACVT_CONF_TITLE([CUDA Toolkit])
|
||||
ACVT_CONF_SUBTITLE([CUDA Toolkit])
|
||||
ACVT_CUDA
|
||||
AS_IF([test x"$enable_config_titles" = "xyes" -a x"$check_cuda" = "xno"],
|
||||
[AC_MSG_NOTICE([disabled via command line switch])])
|
||||
@ -390,9 +393,14 @@ AS_IF([test x"$force_cuda" = "xyes" -a x"$cuda_error" = "xyes"], [exit 1])
|
||||
AM_CONDITIONAL(AMBUILDCUDA, test x"$have_cuda" = "xyes")
|
||||
AM_CONDITIONAL(AMBUILDCUDART, test x"$have_cudart" = "xyes")
|
||||
|
||||
# Check for CUPTI support
|
||||
# Check for CUDA Tools SDK support
|
||||
ACVT_CONF_SUBTITLE([CUDA Tools])
|
||||
# Check for CUPTI
|
||||
ACVT_CUPTI
|
||||
AM_CONDITIONAL(AMBUILDCUPTI, test x"$have_cupti" = "xyes")
|
||||
AM_CONDITIONAL(AMHAVECUPTIEVENTS, test x"$have_cupti_events" = "xyes")
|
||||
AM_CONDITIONAL(AMHAVECUPTICALLBACKS, test x"$have_cupti_callbacks" = "xyes")
|
||||
AM_CONDITIONAL(AMHAVECUPTIACTIVITY, test x"$have_cupti_activity" = "xyes")
|
||||
|
||||
# Check for library tracing support
|
||||
ACVT_CONF_TITLE([Library tracing])
|
||||
@ -406,12 +414,16 @@ AM_CONDITIONAL(AMHAVEDL, test x"$have_dl" = "xyes")
|
||||
AM_CONDITIONAL(AMBUILDLIBCWRAP, test x"$have_libcwrap" = "xyes")
|
||||
AM_CONDITIONAL(AMHAVEFORK, test x"$have_libcwrap" = "xyes" -a x"$have_fork" = "xyes")
|
||||
AM_CONDITIONAL(AMBUILDIOWRAP, test x"$have_iowrap" = "xyes")
|
||||
AM_CONDITIONAL(AMBUILDCUDAWRAP, test x"$have_cudawrap" = "xyes")
|
||||
AM_CONDITIONAL(AMBUILDCUDARTWRAP, test x"$have_cudartwrap" = "xyes")
|
||||
AM_CONDITIONAL(AMBUILDVTNVCC, test x"$have_cudartwrap" = "xyes" -a x"$NVCC" != x)
|
||||
|
||||
cond_cuda=0
|
||||
if test x"$have_cudartwrap" = "xyes" -o x"$have_cupti_callbacks" = "xyes"; then
|
||||
cond_cuda=1
|
||||
fi
|
||||
AM_CONDITIONAL(AMBUILDVTNVCC, test $cond_cuda -eq 1 -a x"$NVCC" != x)
|
||||
|
||||
# Check for GPU support
|
||||
AM_CONDITIONAL(AMHAVEGPU, test x"$have_cupti" = "xyes" -o x"$have_cudartwrap" = "xyes")
|
||||
AM_CONDITIONAL(AMHAVEGPU, test x"$have_cupti_callbacks" = "xyes" -o x"$have_cudartwrap" = "xyes")
|
||||
|
||||
# Check path for node-local temporary directory
|
||||
ACVT_LTMPDIR
|
||||
@ -465,6 +477,7 @@ AC_CONFIG_FILES([Makefile
|
||||
tools/vtrun/vtrun
|
||||
tools/vtsetup/Makefile
|
||||
tools/vtsetup/vtsetup
|
||||
tools/vtsetup/vtsetup-config.xml
|
||||
tools/vtsetup/vtsetup-data.xml
|
||||
tools/vtsetup/doc/Makefile
|
||||
tools/vtunify/Makefile
|
||||
@ -479,7 +492,6 @@ AC_CONFIG_FILES([Makefile
|
||||
include/vt_inttypes.h
|
||||
doc/Makefile
|
||||
etc/Makefile
|
||||
etc/vt-setup-config.xml
|
||||
])
|
||||
|
||||
# Add MPI wrapper generator scripts to output files
|
||||
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Двоичные данные
ompi/contrib/vt/vt/doc/UserManual.pdf
Двоичные данные
ompi/contrib/vt/vt/doc/UserManual.pdf
Двоичный файл не отображается.
@ -1,11 +1,6 @@
|
||||
vtsysconf_DATA = \
|
||||
vt-java-default-filter.spec \
|
||||
vt-setup-config.dtd \
|
||||
vt-setup-config.xml
|
||||
|
||||
vt-java-default-filter.spec
|
||||
vtsysconfdir = $(sysconfdir)
|
||||
|
||||
EXTRA_DIST = \
|
||||
vt-java-default-filter.spec \
|
||||
vt-setup-config.dtd
|
||||
EXTRA_DIST = $(vtsysconf_DATA)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
Copyright (c) 2005-2011, ZIH, Technische Universitaet Dresden,
|
||||
Copyright (c) 2005-2012, ZIH, Technische Universitaet Dresden,
|
||||
Federal Republic of Germany
|
||||
|
||||
All rights reserved.
|
||||
|
@ -1,4 +1,4 @@
|
||||
Copyright (c) 2005-2011, ZIH, Technische Universitaet Dresden,
|
||||
Copyright (c) 2005-2012, ZIH, Technische Universitaet Dresden,
|
||||
Federal Republic of Germany
|
||||
|
||||
All rights reserved.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
also: patches by Rainer Keller, thanks a lot!
|
||||
*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch, Johannes Spazier
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch, Johannes Spazier
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
|
||||
Copyright (c) 2004-2005, The Trustees of Indiana University and Indiana
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
also: patches by Rainer Keller, thanks a lot!
|
||||
*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
also: patches by Rainer Keller, thanks a lot!
|
||||
*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Michael Heyde
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2011.
|
||||
This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
|
||||
Authors: Michael Heyde
|
||||
*/
|
||||
|
||||
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
x
Ссылка в новой задаче
Block a user