merging VampirTrace-5.4.4.3 into the main branch
This commit was SVN r17417.
Этот коммит содержится в:
родитель
cf801edfe5
Коммит
ecd5d4e634
@ -193,6 +193,7 @@
|
|||||||
- fixed a portability bug: use own implementation of function
|
- fixed a portability bug: use own implementation of function
|
||||||
'strdup()'
|
'strdup()'
|
||||||
- removed variadic macros (they were introduced in C99)
|
- removed variadic macros (they were introduced in C99)
|
||||||
|
- fixed potential race condition by using OpenMP + LIBC's I/O tracing
|
||||||
- fixed a bug for determining the timer-resolution for ITC
|
- fixed a bug for determining the timer-resolution for ITC
|
||||||
- added check if we can link '-lz' in order to pass either '-lotf -lz'
|
- added check if we can link '-lz' in order to pass either '-lotf -lz'
|
||||||
or just '-lotf' as OTF link option
|
or just '-lotf' as OTF link option
|
||||||
|
@ -1357,6 +1357,11 @@ AC_DEFUN([ACVT_OTF],
|
|||||||
|
|
||||||
otf_conf_cmd="$otf_srcdir/configure"
|
otf_conf_cmd="$otf_srcdir/configure"
|
||||||
otf_conf_args=
|
otf_conf_args=
|
||||||
|
AS_IF([test x"$cross_compiling" = "xyes"],
|
||||||
|
[
|
||||||
|
AS_IF([test ! -z $build], [otf_conf_args="$otf_conf_args --build=$build"])
|
||||||
|
AS_IF([test ! -z $host], [otf_conf_args="$otf_conf_args --host=$host"])
|
||||||
|
])
|
||||||
AS_IF([test x"$have_zlib" = "xyes"],
|
AS_IF([test x"$have_zlib" = "xyes"],
|
||||||
[
|
[
|
||||||
AS_IF([test x"$force_zlib" = "xyes"],
|
AS_IF([test x"$force_zlib" = "xyes"],
|
||||||
@ -1371,11 +1376,6 @@ AC_DEFUN([ACVT_OTF],
|
|||||||
[
|
[
|
||||||
otf_conf_args=--without-zlib
|
otf_conf_args=--without-zlib
|
||||||
])
|
])
|
||||||
AS_IF([test x"$cross_compiling" = "xyes"],
|
|
||||||
[
|
|
||||||
AS_IF([test ! -z $build], [otf_conf_args="$otf_conf_args --build=$build"])
|
|
||||||
AS_IF([test ! -z $host], [otf_conf_args="$otf_conf_args --host=$host"])
|
|
||||||
])
|
|
||||||
|
|
||||||
otf_conf_args="$otf_conf_args --prefix=\"$prefix\" --exec-prefix=\"$exec_prefix\" --bindir=\"$bindir\" --libdir=\"$libdir\" --includedir=\"$includedir\" --datarootdir=\"$datarootdir\" --datadir=\"$datadir\" --docdir=\"$docdir\" $OTFFLAGS --cache-file=\"/dev/null\" --srcdir=\"$otf_srcdir\""
|
otf_conf_args="$otf_conf_args --prefix=\"$prefix\" --exec-prefix=\"$exec_prefix\" --bindir=\"$bindir\" --libdir=\"$libdir\" --includedir=\"$includedir\" --datarootdir=\"$datarootdir\" --datadir=\"$datadir\" --docdir=\"$docdir\" $OTFFLAGS --cache-file=\"/dev/null\" --srcdir=\"$otf_srcdir\""
|
||||||
|
|
||||||
@ -1781,7 +1781,7 @@ AC_CACHE_CHECK([for OpenMP flag of _AC_LANG compiler], ax_cv_[]_AC_LANG_ABBREV[]
|
|||||||
ax_cv_[]_AC_LANG_ABBREV[]_openmp=unknown
|
ax_cv_[]_AC_LANG_ABBREV[]_openmp=unknown
|
||||||
# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI),
|
# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI),
|
||||||
# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none
|
# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none
|
||||||
ax_openmp_flags="-fopenmp -openmp -mp -xopenmp -omp -qsmp=omp none"
|
ax_openmp_flags="-mp -fopenmp -openmp -xopenmp -omp -qsmp=omp none"
|
||||||
if test "x$OPENMP_[]_AC_LANG_PREFIX[]FLAGS" != x; then
|
if test "x$OPENMP_[]_AC_LANG_PREFIX[]FLAGS" != x; then
|
||||||
ax_openmp_flags="$OPENMP_[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flags"
|
ax_openmp_flags="$OPENMP_[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flags"
|
||||||
fi
|
fi
|
||||||
|
270
ompi/contrib/vt/vt/configure
поставляемый
270
ompi/contrib/vt/vt/configure
поставляемый
@ -5403,10 +5403,6 @@ fi
|
|||||||
CXXFLAGS_FOR_BUILD=$CXXFLAGS
|
CXXFLAGS_FOR_BUILD=$CXXFLAGS
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test x"$CXXCPP_FOR_BUILD" = x; then
|
|
||||||
CXXCPP_FOR_BUILD=$CXXCPP
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x"$CPPFLAGS_FOR_BUILD" = x; then
|
if test x"$CPPFLAGS_FOR_BUILD" = x; then
|
||||||
CPPFLAGS_FOR_BUILD=$CPPFLAGS
|
CPPFLAGS_FOR_BUILD=$CPPFLAGS
|
||||||
fi
|
fi
|
||||||
@ -5430,7 +5426,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
|||||||
|
|
||||||
sav_CXX=$CXX; sav_CXXFLAGS=$CXXFLAGS; sav_CXXCPP=$CXXCPP
|
sav_CXX=$CXX; sav_CXXFLAGS=$CXXFLAGS; sav_CXXCPP=$CXXCPP
|
||||||
sav_CPPFLAGS=$CPPFLAGS; sav_LDFLAGS=$LDFLAGS; sav_LIBS=$LIBS
|
sav_CPPFLAGS=$CPPFLAGS; sav_LDFLAGS=$LDFLAGS; sav_LIBS=$LIBS
|
||||||
CXX=$CXX_FOR_BUILD; CXXFLAGS=$CXXFLAGS_FOR_BUILD; CXXCPP=$CXXCPP_FOR_BUILD
|
CXX=$CXX_FOR_BUILD; CXXFLAGS=$CXXFLAGS_FOR_BUILD
|
||||||
CPPFLAGS=$CPPFLAGS_FOR_BUILD; LDFLAGS=$LDFLAGS_FOR_BUILD; LIBS=$LIBS_FOR_BUILD
|
CPPFLAGS=$CPPFLAGS_FOR_BUILD; LDFLAGS=$LDFLAGS_FOR_BUILD; LIBS=$LIBS_FOR_BUILD
|
||||||
{ echo "$as_me:$LINENO: checking whether the C++ compiler for build system works" >&5
|
{ echo "$as_me:$LINENO: checking whether the C++ compiler for build system works" >&5
|
||||||
echo $ECHO_N "checking whether the C++ compiler for build system works... $ECHO_C" >&6; }
|
echo $ECHO_N "checking whether the C++ compiler for build system works... $ECHO_C" >&6; }
|
||||||
@ -5482,6 +5478,242 @@ fi
|
|||||||
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
|
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
|
||||||
conftest$ac_exeext conftest.$ac_ext
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
|
||||||
|
if test x"$CXXCPP_FOR_BUILD" = x; then
|
||||||
|
|
||||||
|
unset CXXCPP
|
||||||
|
unset ac_cv_prog_CXXCPP # clear cache variable for CXXCPP
|
||||||
|
ac_ext=cpp
|
||||||
|
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||||
|
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||||
|
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||||
|
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||||
|
{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
|
||||||
|
echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
|
||||||
|
if test -z "$CXXCPP"; then
|
||||||
|
if test "${ac_cv_prog_CXXCPP+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
# Double quotes because CXXCPP needs to be expanded
|
||||||
|
for CXXCPP in "$CXX -E" "/lib/cpp"
|
||||||
|
do
|
||||||
|
ac_preproc_ok=false
|
||||||
|
for ac_cxx_preproc_warn_flag in '' yes
|
||||||
|
do
|
||||||
|
# Use a header file that comes with gcc, so configuring glibc
|
||||||
|
# with a fresh cross-compiler works.
|
||||||
|
# Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|
||||||
|
# <limits.h> exists even on freestanding compilers.
|
||||||
|
# On the NeXT, cc -E runs the code through the compiler's parser,
|
||||||
|
# not just through cpp. "Syntax error" is here to catch this case.
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#ifdef __STDC__
|
||||||
|
# include <limits.h>
|
||||||
|
#else
|
||||||
|
# include <assert.h>
|
||||||
|
#endif
|
||||||
|
Syntax error
|
||||||
|
_ACEOF
|
||||||
|
if { (ac_try="$ac_cpp conftest.$ac_ext"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||||
|
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } >/dev/null && {
|
||||||
|
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
|
||||||
|
test ! -s conftest.err
|
||||||
|
}; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
# Broken: fails on valid input.
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f conftest.err conftest.$ac_ext
|
||||||
|
|
||||||
|
# OK, works on sane cases. Now check whether nonexistent headers
|
||||||
|
# can be detected and how.
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <ac_nonexistent.h>
|
||||||
|
_ACEOF
|
||||||
|
if { (ac_try="$ac_cpp conftest.$ac_ext"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||||
|
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } >/dev/null && {
|
||||||
|
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
|
||||||
|
test ! -s conftest.err
|
||||||
|
}; then
|
||||||
|
# Broken: success on invalid input.
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
# Passes both tests.
|
||||||
|
ac_preproc_ok=:
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f conftest.err conftest.$ac_ext
|
||||||
|
|
||||||
|
done
|
||||||
|
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
|
||||||
|
rm -f conftest.err conftest.$ac_ext
|
||||||
|
if $ac_preproc_ok; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
ac_cv_prog_CXXCPP=$CXXCPP
|
||||||
|
|
||||||
|
fi
|
||||||
|
CXXCPP=$ac_cv_prog_CXXCPP
|
||||||
|
else
|
||||||
|
ac_cv_prog_CXXCPP=$CXXCPP
|
||||||
|
fi
|
||||||
|
{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
|
||||||
|
echo "${ECHO_T}$CXXCPP" >&6; }
|
||||||
|
ac_preproc_ok=false
|
||||||
|
for ac_cxx_preproc_warn_flag in '' yes
|
||||||
|
do
|
||||||
|
# Use a header file that comes with gcc, so configuring glibc
|
||||||
|
# with a fresh cross-compiler works.
|
||||||
|
# Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|
||||||
|
# <limits.h> exists even on freestanding compilers.
|
||||||
|
# On the NeXT, cc -E runs the code through the compiler's parser,
|
||||||
|
# not just through cpp. "Syntax error" is here to catch this case.
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#ifdef __STDC__
|
||||||
|
# include <limits.h>
|
||||||
|
#else
|
||||||
|
# include <assert.h>
|
||||||
|
#endif
|
||||||
|
Syntax error
|
||||||
|
_ACEOF
|
||||||
|
if { (ac_try="$ac_cpp conftest.$ac_ext"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||||
|
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } >/dev/null && {
|
||||||
|
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
|
||||||
|
test ! -s conftest.err
|
||||||
|
}; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
# Broken: fails on valid input.
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f conftest.err conftest.$ac_ext
|
||||||
|
|
||||||
|
# OK, works on sane cases. Now check whether nonexistent headers
|
||||||
|
# can be detected and how.
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <ac_nonexistent.h>
|
||||||
|
_ACEOF
|
||||||
|
if { (ac_try="$ac_cpp conftest.$ac_ext"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||||
|
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } >/dev/null && {
|
||||||
|
test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
|
||||||
|
test ! -s conftest.err
|
||||||
|
}; then
|
||||||
|
# Broken: success on invalid input.
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
# Passes both tests.
|
||||||
|
ac_preproc_ok=:
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f conftest.err conftest.$ac_ext
|
||||||
|
|
||||||
|
done
|
||||||
|
# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
|
||||||
|
rm -f conftest.err conftest.$ac_ext
|
||||||
|
if $ac_preproc_ok; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
{ { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
|
||||||
|
See \`config.log' for more details." >&5
|
||||||
|
echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
|
||||||
|
See \`config.log' for more details." >&2;}
|
||||||
|
{ (exit 1); exit 1; }; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
ac_ext=cpp
|
||||||
|
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||||
|
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||||
|
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||||
|
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||||
|
|
||||||
|
CXXCPP_FOR_BUILD=$CXXCPP
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
CXX=$sav_CXX; CXXFLAGS=$sav_CXXFLAGS; CXXCPP=$sav_CXXCPP
|
CXX=$sav_CXX; CXXFLAGS=$sav_CXXFLAGS; CXXCPP=$sav_CXXCPP
|
||||||
CPPFLAGS=$sav_CPPFLAGS; LDFLAGS=$sav_LDFLAGS; LIBS=$sav_LIBS
|
CPPFLAGS=$sav_CPPFLAGS; LDFLAGS=$sav_LDFLAGS; LIBS=$sav_LIBS
|
||||||
ac_ext=c
|
ac_ext=c
|
||||||
@ -8717,6 +8949,19 @@ fi
|
|||||||
|
|
||||||
otf_conf_cmd="$otf_srcdir/configure"
|
otf_conf_cmd="$otf_srcdir/configure"
|
||||||
otf_conf_args=
|
otf_conf_args=
|
||||||
|
if test x"$cross_compiling" = "xyes"; then
|
||||||
|
|
||||||
|
if test ! -z $build; then
|
||||||
|
otf_conf_args="$otf_conf_args --build=$build"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test ! -z $host; then
|
||||||
|
otf_conf_args="$otf_conf_args --host=$host"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
if test x"$have_zlib" = "xyes"; then
|
if test x"$have_zlib" = "xyes"; then
|
||||||
|
|
||||||
if test x"$force_zlib" = "xyes"; then
|
if test x"$force_zlib" = "xyes"; then
|
||||||
@ -8740,19 +8985,6 @@ else
|
|||||||
|
|
||||||
otf_conf_args=--without-zlib
|
otf_conf_args=--without-zlib
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x"$cross_compiling" = "xyes"; then
|
|
||||||
|
|
||||||
if test ! -z $build; then
|
|
||||||
otf_conf_args="$otf_conf_args --build=$build"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test ! -z $host; then
|
|
||||||
otf_conf_args="$otf_conf_args --host=$host"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@ -12928,7 +13160,7 @@ else
|
|||||||
ax_cv_c_openmp=unknown
|
ax_cv_c_openmp=unknown
|
||||||
# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI),
|
# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI),
|
||||||
# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none
|
# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none
|
||||||
ax_openmp_flags="-fopenmp -openmp -mp -xopenmp -omp -qsmp=omp none"
|
ax_openmp_flags="-mp -fopenmp -openmp -xopenmp -omp -qsmp=omp none"
|
||||||
if test "x$OPENMP_CFLAGS" != x; then
|
if test "x$OPENMP_CFLAGS" != x; then
|
||||||
ax_openmp_flags="$OPENMP_CFLAGS $ax_openmp_flags"
|
ax_openmp_flags="$OPENMP_CFLAGS $ax_openmp_flags"
|
||||||
fi
|
fi
|
||||||
|
@ -72,7 +72,6 @@ In cross compile mode, it's recommended to build the compiler wrappers and OPARI
|
|||||||
cxx_for_build_given="yes"
|
cxx_for_build_given="yes"
|
||||||
])
|
])
|
||||||
AS_IF([test x"$CXXFLAGS_FOR_BUILD" = x], [CXXFLAGS_FOR_BUILD=$CXXFLAGS])
|
AS_IF([test x"$CXXFLAGS_FOR_BUILD" = x], [CXXFLAGS_FOR_BUILD=$CXXFLAGS])
|
||||||
AS_IF([test x"$CXXCPP_FOR_BUILD" = x], [CXXCPP_FOR_BUILD=$CXXCPP])
|
|
||||||
AS_IF([test x"$CPPFLAGS_FOR_BUILD" = x], [CPPFLAGS_FOR_BUILD=$CPPFLAGS])
|
AS_IF([test x"$CPPFLAGS_FOR_BUILD" = x], [CPPFLAGS_FOR_BUILD=$CPPFLAGS])
|
||||||
AS_IF([test x"$LDFLAGS_FOR_BUILD" = x], [LDFLAGS_FOR_BUILD=$LDFLAGS])
|
AS_IF([test x"$LDFLAGS_FOR_BUILD" = x], [LDFLAGS_FOR_BUILD=$LDFLAGS])
|
||||||
AS_IF([test x"$LIBS_FOR_BUILD" = x], [LIBS_FOR_BUILD=$LIBS])
|
AS_IF([test x"$LIBS_FOR_BUILD" = x], [LIBS_FOR_BUILD=$LIBS])
|
||||||
@ -82,13 +81,22 @@ In cross compile mode, it's recommended to build the compiler wrappers and OPARI
|
|||||||
AC_LANG([C++])
|
AC_LANG([C++])
|
||||||
sav_CXX=$CXX; sav_CXXFLAGS=$CXXFLAGS; sav_CXXCPP=$CXXCPP
|
sav_CXX=$CXX; sav_CXXFLAGS=$CXXFLAGS; sav_CXXCPP=$CXXCPP
|
||||||
sav_CPPFLAGS=$CPPFLAGS; sav_LDFLAGS=$LDFLAGS; sav_LIBS=$LIBS
|
sav_CPPFLAGS=$CPPFLAGS; sav_LDFLAGS=$LDFLAGS; sav_LIBS=$LIBS
|
||||||
CXX=$CXX_FOR_BUILD; CXXFLAGS=$CXXFLAGS_FOR_BUILD; CXXCPP=$CXXCPP_FOR_BUILD
|
CXX=$CXX_FOR_BUILD; CXXFLAGS=$CXXFLAGS_FOR_BUILD
|
||||||
CPPFLAGS=$CPPFLAGS_FOR_BUILD; LDFLAGS=$LDFLAGS_FOR_BUILD; LIBS=$LIBS_FOR_BUILD
|
CPPFLAGS=$CPPFLAGS_FOR_BUILD; LDFLAGS=$LDFLAGS_FOR_BUILD; LIBS=$LIBS_FOR_BUILD
|
||||||
AC_MSG_CHECKING([whether the C++ compiler for build system works])
|
AC_MSG_CHECKING([whether the C++ compiler for build system works])
|
||||||
AC_TRY_LINK([], [],
|
AC_TRY_LINK([], [],
|
||||||
[AC_MSG_RESULT([yes])],
|
[AC_MSG_RESULT([yes])],
|
||||||
[AC_MSG_ERROR([C++ compiler for build system cannot create executables
|
[AC_MSG_ERROR([C++ compiler for build system cannot create executables
|
||||||
See \`config.log' for more details.])])
|
See \`config.log' for more details.])])
|
||||||
|
|
||||||
|
AS_IF([test x"$CXXCPP_FOR_BUILD" = x],
|
||||||
|
[
|
||||||
|
unset CXXCPP
|
||||||
|
unset ac_cv_prog_CXXCPP # clear cache variable for CXXCPP
|
||||||
|
AC_PROG_CXXCPP
|
||||||
|
CXXCPP_FOR_BUILD=$CXXCPP
|
||||||
|
])
|
||||||
|
|
||||||
CXX=$sav_CXX; CXXFLAGS=$sav_CXXFLAGS; CXXCPP=$sav_CXXCPP
|
CXX=$sav_CXX; CXXFLAGS=$sav_CXXFLAGS; CXXCPP=$sav_CXXCPP
|
||||||
CPPFLAGS=$sav_CPPFLAGS; LDFLAGS=$sav_LDFLAGS; LIBS=$sav_LIBS
|
CPPFLAGS=$sav_CPPFLAGS; LDFLAGS=$sav_LDFLAGS; LIBS=$sav_LIBS
|
||||||
AC_LANG([C])
|
AC_LANG([C])
|
||||||
|
@ -29,6 +29,14 @@ struct Process {
|
|||||||
};
|
};
|
||||||
struct FiltHandlerArgument {
|
struct FiltHandlerArgument {
|
||||||
|
|
||||||
|
FiltHandlerArgument() {}
|
||||||
|
|
||||||
|
FiltHandlerArgument(const FiltHandlerArgument& src)
|
||||||
|
: nm2tok(src.nm2tok), t2p(src.t2p),
|
||||||
|
wstream(src.wstream), mc(src.mc)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
std::map<std::string, uint32_t> nm2tok; /* created during definition reading*/
|
std::map<std::string, uint32_t> nm2tok; /* created during definition reading*/
|
||||||
std::map<uint32_t, Process > t2p;
|
std::map<uint32_t, Process > t2p;
|
||||||
OTF_WStream* wstream;
|
OTF_WStream* wstream;
|
||||||
|
@ -396,7 +396,8 @@ int main( int argc, char** argv ) {
|
|||||||
|
|
||||||
#ifdef VT_OMP
|
#ifdef VT_OMP
|
||||||
#pragma omp parallel for firstprivate(mc,nfiles,minbytes,maxbytes) \
|
#pragma omp parallel for firstprivate(mc,nfiles,minbytes,maxbytes) \
|
||||||
shared(fha,curbytes,readrecords,lastprogressupdate,progress_counter,erroroccured)
|
shared(fha,curbytes,readrecords,lastprogressupdate,progress_counter,erroroccured) \
|
||||||
|
private(retev,retst,retsn)
|
||||||
#endif
|
#endif
|
||||||
for( int streamindex = 0; streamindex < maxstreams; ++streamindex )
|
for( int streamindex = 0; streamindex < maxstreams; ++streamindex )
|
||||||
{
|
{
|
||||||
@ -802,7 +803,8 @@ int main( int argc, char** argv ) {
|
|||||||
|
|
||||||
#ifdef VT_OMP
|
#ifdef VT_OMP
|
||||||
#pragma omp parallel for firstprivate(fha,nfiles,compression,minbytes,maxbytes) \
|
#pragma omp parallel for firstprivate(fha,nfiles,compression,minbytes,maxbytes) \
|
||||||
shared(curbytes,readrecords,lastprogressupdate,progress_counter)
|
shared(curbytes,readrecords,lastprogressupdate,progress_counter) \
|
||||||
|
private(retev,retst,retsn)
|
||||||
#endif
|
#endif
|
||||||
for( int streamindex = 0; streamindex < maxstreams; ++streamindex )
|
for( int streamindex = 0; streamindex < maxstreams; ++streamindex )
|
||||||
{
|
{
|
||||||
@ -1177,7 +1179,7 @@ static map<uint32_t,uint64_t> readFilterFile( const string& filename, const map<
|
|||||||
ulimit= ATOL8(line.substr(a+4, line.size()-a-4).c_str());
|
ulimit= ATOL8(line.substr(a+4, line.size()-a-4).c_str());
|
||||||
line= line.substr(0, a);
|
line= line.substr(0, a);
|
||||||
sline = new char[line.length()+1];
|
sline = new char[line.length()+1];
|
||||||
strcpy( sline, line.c_str() );
|
strcpy( sline,line.c_str() );
|
||||||
|
|
||||||
char* token = strtok(sline, ";");
|
char* token = strtok(sline, ";");
|
||||||
while( token ) {
|
while( token ) {
|
||||||
@ -1224,7 +1226,7 @@ void updateProgressDisplay( uint32_t i, uint64_t max, uint64_t cur ) {
|
|||||||
|
|
||||||
|
|
||||||
/* static char animation[]= {"-", "\\", "|", "/" }; */
|
/* static char animation[]= {"-", "\\", "|", "/" }; */
|
||||||
static char* animation[]= { (char*)"", (char*)"." };
|
static const char* animation[]= { "", "." };
|
||||||
|
|
||||||
|
|
||||||
/* printf( "%llu / %llu \n", cur, max ); */
|
/* printf( "%llu / %llu \n", cur, max ); */
|
||||||
|
@ -32,6 +32,9 @@ int max_open_files = 0;
|
|||||||
vampir_file_t *fd_to_vampirid = NULL;
|
vampir_file_t *fd_to_vampirid = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* store_vampir_file_id() must be run in a critical section if OpenMP is used!
|
||||||
|
*/
|
||||||
static void store_vampir_file_id(int fd, uint32_t file_id,
|
static void store_vampir_file_id(int fd, uint32_t file_id,
|
||||||
uint32_t file_group_id)
|
uint32_t file_group_id)
|
||||||
{
|
{
|
||||||
@ -45,14 +48,7 @@ static void store_vampir_file_id(int fd, uint32_t file_id,
|
|||||||
#endif
|
#endif
|
||||||
file_ptr->vampir_file_id = file_id;
|
file_ptr->vampir_file_id = file_id;
|
||||||
file_ptr->vampir_file_group_id = file_group_id;
|
file_ptr->vampir_file_group_id = file_group_id;
|
||||||
# if defined (VT_OMPI) || defined (VT_OMP)
|
|
||||||
# pragma omp critical (vt_iofile_1)
|
|
||||||
{
|
|
||||||
# endif
|
|
||||||
file_ptr->handle_id = global_handle_counter++;
|
file_ptr->handle_id = global_handle_counter++;
|
||||||
# if defined (VT_OMPI) || defined (VT_OMP)
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
vampir_file_t *get_vampir_file(int fd)
|
vampir_file_t *get_vampir_file(int fd)
|
||||||
@ -81,7 +77,7 @@ int get_total_open_files(int max_open_files)
|
|||||||
{
|
{
|
||||||
#if defined (VT_OMPI) || defined (VT_OMP)
|
#if defined (VT_OMPI) || defined (VT_OMP)
|
||||||
/* alloc numthreads * max_open_files entries */
|
/* alloc numthreads * max_open_files entries */
|
||||||
return (max_open_files * omp_get_thread_num());
|
return (max_open_files * omp_get_max_threads());
|
||||||
#else
|
#else
|
||||||
return max_open_files;
|
return max_open_files;
|
||||||
#endif
|
#endif
|
||||||
@ -95,7 +91,14 @@ void vt_iofile_open(const char* fname, int fd)
|
|||||||
/* fprintf( stderr, "opening file: %s\n", fname); */
|
/* fprintf( stderr, "opening file: %s\n", fname); */
|
||||||
|
|
||||||
gid=(fd<3) ? file_group_id_stdio : file_group_id_rest;
|
gid=(fd<3) ? file_group_id_stdio : file_group_id_rest;
|
||||||
|
#if defined (VT_OMPI) || defined (VT_OMP)
|
||||||
|
# pragma omp critical
|
||||||
|
{
|
||||||
|
#endif
|
||||||
fid = vt_def_fileio(fname, gid);
|
fid = vt_def_fileio(fname, gid);
|
||||||
store_vampir_file_id(fd, fid, gid);
|
store_vampir_file_id(fd, fid, gid);
|
||||||
|
#if defined (VT_OMPI) || defined (VT_OMP)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,9 +196,23 @@ void vt_check_thrd_id(uint32_t tid);
|
|||||||
|
|
||||||
void vt_open()
|
void vt_open()
|
||||||
{
|
{
|
||||||
|
int i_am_the_initer = 0;
|
||||||
|
|
||||||
/* check for double initialization error */
|
/* check for double initialization error */
|
||||||
if ( vt_open_called ) return;
|
#if (defined (VT_OMPI) || defined (VT_OMP))
|
||||||
|
# pragma omp critical
|
||||||
|
{
|
||||||
|
#endif
|
||||||
|
if ( !vt_open_called ) {
|
||||||
vt_open_called = 1;
|
vt_open_called = 1;
|
||||||
|
i_am_the_initer = 1;
|
||||||
|
}
|
||||||
|
#if (defined (VT_OMPI) || defined (VT_OMP))
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (vt_open_called && !i_am_the_initer)
|
||||||
|
return;
|
||||||
|
|
||||||
/* initialization specific to this platform */
|
/* initialization specific to this platform */
|
||||||
vt_pform_init();
|
vt_pform_init();
|
||||||
@ -368,13 +382,26 @@ void vt_open()
|
|||||||
void vt_close()
|
void vt_close()
|
||||||
{
|
{
|
||||||
int i, nf;
|
int i, nf;
|
||||||
|
int i_am_the_closer = 0;
|
||||||
|
|
||||||
/* catch vt_close called from child processes through atexit */
|
/* catch vt_close called from child processes through atexit */
|
||||||
if ( init_pid != getpid() ) return;
|
if ( init_pid != getpid() ) return;
|
||||||
|
|
||||||
/* check for double finalization error */
|
/* check for double finalization error */
|
||||||
if ( vt_close_called ) return;
|
#if (defined (VT_OMPI) || defined (VT_OMP))
|
||||||
|
# pragma omp critical
|
||||||
|
{
|
||||||
|
#endif
|
||||||
|
if ( !vt_close_called ) {
|
||||||
vt_close_called = 1;
|
vt_close_called = 1;
|
||||||
|
i_am_the_closer = 1;
|
||||||
|
}
|
||||||
|
#if (defined (VT_OMPI) || defined (VT_OMP))
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (vt_close_called && !i_am_the_closer)
|
||||||
|
return;
|
||||||
|
|
||||||
vt_is_alive = 0;
|
vt_is_alive = 0;
|
||||||
|
|
||||||
@ -418,7 +445,7 @@ void vt_close()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* copy per-process trace from local directory to
|
/* copy per-process trace from local directory to
|
||||||
current working directory */
|
global directory */
|
||||||
for(i=0; i<(int)VTThrd_get_num_thrds(); i++)
|
for(i=0; i<(int)VTThrd_get_num_thrds(); i++)
|
||||||
vt_cpy_to_gdir(i);
|
vt_cpy_to_gdir(i);
|
||||||
|
|
||||||
@ -433,7 +460,7 @@ void vt_close()
|
|||||||
/*- Rank 0: unify trace files -*/
|
/*- Rank 0: unify trace files -*/
|
||||||
if (my_trace == 0 && vt_env_do_unify())
|
if (my_trace == 0 && vt_env_do_unify())
|
||||||
{
|
{
|
||||||
int len = strlen(vt_env_gdir()) + strlen(vt_env_fprefix()) + 16;
|
int len = strlen(vt_env_gdir()) + strlen(vt_env_fprefix()) + 32;
|
||||||
char* filename;
|
char* filename;
|
||||||
char* cmd;
|
char* cmd;
|
||||||
|
|
||||||
@ -721,7 +748,7 @@ static void vt_cpy_to_gdir(uint32_t tid)
|
|||||||
suffix = strchr(tmp_name+strlen(tmp_prefix)+1, '.');
|
suffix = strchr(tmp_name+strlen(tmp_prefix)+1, '.');
|
||||||
|
|
||||||
local_name = (char*)calloc(strlen(vt_env_gdir()) +
|
local_name = (char*)calloc(strlen(vt_env_gdir()) +
|
||||||
strlen(vt_env_fprefix()) + 16, sizeof(char));
|
strlen(vt_env_fprefix()) + 32, sizeof(char));
|
||||||
|
|
||||||
/* build local file name */
|
/* build local file name */
|
||||||
sprintf(local_name, "%s/%s.%x%s",
|
sprintf(local_name, "%s/%s.%x%s",
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user