Skip to content
Commits on Source (2)
...@@ -31,10 +31,9 @@ AC_DEFUN([AX_CHECK_EXTRAE], ...@@ -31,10 +31,9 @@ AC_DEFUN([AX_CHECK_EXTRAE],
[ [
AC_REQUIRE([AC_PROG_AWK]) AC_REQUIRE([AC_PROG_AWK])
MPITRACE_HOME="" EXTRAE_HOME=""
MPITRACE_INC="" EXTRAE_INC=""
MPITRACE_LIB="" EXTRAE_LIB=""
MPITRACE_BIN=""
AC_MSG_CHECKING([for Extrae]) AC_MSG_CHECKING([for Extrae])
AC_ARG_WITH([extrae], AC_ARG_WITH([extrae],
...@@ -102,23 +101,21 @@ AC_DEFUN([AX_CHECK_EXTRAE], ...@@ -102,23 +101,21 @@ AC_DEFUN([AX_CHECK_EXTRAE],
AC_MSG_CHECKING([if Extrae library is compatible]) AC_MSG_CHECKING([if Extrae library is compatible])
AX_COMPARE_VERSION([$extrae_version],[ge],[2.4], [ AX_COMPARE_VERSION([$extrae_version],[ge],[2.4], [
MPITRACE_HOME="$withval" EXTRAE_HOME="$withval"
MPITRACE_INC="$withval/include" EXTRAE_INC="$withval/include"
MPITRACE_LIB="$withval/lib" EXTRAE_LIB="$withval/lib"
AS_IF([test -d "$MPITRACE_HOME/lib64"],[ AS_IF([test -d "$EXTRAE_HOME/lib64"],[
MPITRACE_LIB="$MPITRACE_HOME/lib64" EXTRAE_LIB="$EXTRAE_HOME/lib64"
]) ])
MPITRACE_BIN="$withval/bin"
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
],[ ],[
AC_MSG_ERROR([no (Extrae >= 2.4 needed)]) AC_MSG_ERROR([no (Extrae >= 2.4 needed)])
]) ])
]) ])
AC_SUBST([MPITRACE_HOME]) AC_SUBST([EXTRAE_HOME])
AC_SUBST([MPITRACE_INC]) AC_SUBST([EXTRAE_INC])
AC_SUBST([MPITRACE_LIB]) AC_SUBST([EXTRAE_LIB])
AC_SUBST([MPITRACE_BIN])
AM_CONDITIONAL([instrumentation_EXTRAE], test x"$MPITRACE_HOME" != x) AM_CONDITIONAL([instrumentation_EXTRAE], test x"$EXTRAE_HOME" != x)
]) ])
...@@ -792,13 +792,19 @@ endif ...@@ -792,13 +792,19 @@ endif
###################################################################################################### ######################################################################################################
#### Instrumentation ################################################################################# #### Instrumentation #################################################################################
###################################################################################################### ######################################################################################################
mpitrace_cxxflags=-I@MPITRACE_INC@ -DMPITRACE_BIN='"@MPITRACE_BIN@"' -DPREFIX='"$(prefix)"' if instrumentation_EXTRAE
mpitrace_ldflags=-L@MPITRACE_LIB@ -lnanostrace extrae_cppflags=-I@EXTRAE_INC@
extrae_ldflags=-L@EXTRAE_LIB@ -lnanostrace
endif
ayudame_cxxflags=-I@AYUDAME_INC@ -DPREFIX='"$(prefix)"' if instrumentation_AYUDAME
ayudame_cppflags=-I@AYUDAME_INC@ -DPREFIX='"$(prefix)"'
ayudame_ldflags=-L@AYUDAME_LIB@ -layudame ayudame_ldflags=-L@AYUDAME_LIB@ -layudame
endif
nextsim_cxxflags=-I@NEXTSIM_INC@ -DPREFIX='"$(prefix)"' if instrumentation_NEXTSIM
nextsim_cppflags=-I@NEXTSIM_INC@ -DPREFIX='"$(prefix)"'
endif
empty_sources=\ empty_sources=\
instrumentation/empty_trace.cpp \ instrumentation/empty_trace.cpp \
...@@ -838,11 +844,6 @@ ompt_sources=\ ...@@ -838,11 +844,6 @@ ompt_sources=\
instrumentation/ompt-headers/ompt-types-callbacks.h \ instrumentation/ompt-headers/ompt-types-callbacks.h \
$(END) $(END)
if instrumentation_EXTRAE
extrae_mpitrace_cxxflags=$(mpitrace_cxxflags)
extrae_mpitrace_ldflags=$(mpitrace_ldflags)
endif
if is_debug_enabled if is_debug_enabled
debug_LTLIBRARIES += \ debug_LTLIBRARIES += \
debug/libnanox-instrumentation-empty_trace.la \ debug/libnanox-instrumentation-empty_trace.la \
...@@ -874,15 +875,15 @@ debug_libnanox_instrumentation_tdg_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) ...@@ -874,15 +875,15 @@ debug_libnanox_instrumentation_tdg_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags)
debug_libnanox_instrumentation_tdg_la_SOURCES=$(tdg_sources) debug_libnanox_instrumentation_tdg_la_SOURCES=$(tdg_sources)
if instrumentation_EXTRAE if instrumentation_EXTRAE
debug_libnanox_instrumentation_extrae_la_CPPFLAGS=$(common_debug_CPPFLAGS) $(extrae_mpitrace_cxxflags) debug_libnanox_instrumentation_extrae_la_CPPFLAGS=$(common_debug_CPPFLAGS)
debug_libnanox_instrumentation_extrae_la_CXXFLAGS=$(common_debug_CXXFLAGS) $(extrae_mpitrace_cxxflags) debug_libnanox_instrumentation_extrae_la_CXXFLAGS=$(common_debug_CXXFLAGS)
debug_libnanox_instrumentation_extrae_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(extrae_mpitrace_ldflags) debug_libnanox_instrumentation_extrae_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags)
debug_libnanox_instrumentation_extrae_la_SOURCES=$(extrae_sources) debug_libnanox_instrumentation_extrae_la_SOURCES=$(extrae_sources)
endif endif
if instrumentation_AYUDAME if instrumentation_AYUDAME
debug_libnanox_instrumentation_ayudame_la_CPPFLAGS=$(common_debug_CPPFLAGS) $(ayudame_cxxflags) debug_libnanox_instrumentation_ayudame_la_CPPFLAGS=$(common_debug_CPPFLAGS) $(ayudame_cppflags)
debug_libnanox_instrumentation_ayudame_la_CXXFLAGS=$(common_debug_CXXFLAGS) $(ayudame_cxxflags) debug_libnanox_instrumentation_ayudame_la_CXXFLAGS=$(common_debug_CXXFLAGS)
debug_libnanox_instrumentation_ayudame_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(ayudame_ldflags) debug_libnanox_instrumentation_ayudame_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(ayudame_ldflags)
debug_libnanox_instrumentation_ayudame_la_SOURCES=$(ayudame_sources) debug_libnanox_instrumentation_ayudame_la_SOURCES=$(ayudame_sources)
endif endif
...@@ -924,15 +925,15 @@ instrumentation_libnanox_instrumentation_tdg_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugi ...@@ -924,15 +925,15 @@ instrumentation_libnanox_instrumentation_tdg_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugi
instrumentation_libnanox_instrumentation_tdg_la_SOURCES=$(tdg_sources) instrumentation_libnanox_instrumentation_tdg_la_SOURCES=$(tdg_sources)
if instrumentation_EXTRAE if instrumentation_EXTRAE
instrumentation_libnanox_instrumentation_extrae_la_CPPFLAGS=$(common_instrumentation_CPPFLAGS) $(extrae_mpitrace_cxxflags) instrumentation_libnanox_instrumentation_extrae_la_CPPFLAGS=$(common_instrumentation_CPPFLAGS) $(extrae_cppflags)
instrumentation_libnanox_instrumentation_extrae_la_CXXFLAGS=$(common_instrumentation_CXXFLAGS) $(extrae_mpitrace_cxxflags) instrumentation_libnanox_instrumentation_extrae_la_CXXFLAGS=$(common_instrumentation_CXXFLAGS)
instrumentation_libnanox_instrumentation_extrae_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(extrae_mpitrace_ldflags) instrumentation_libnanox_instrumentation_extrae_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(extrae_ldflags)
instrumentation_libnanox_instrumentation_extrae_la_SOURCES=$(extrae_sources) instrumentation_libnanox_instrumentation_extrae_la_SOURCES=$(extrae_sources)
endif endif
if instrumentation_AYUDAME if instrumentation_AYUDAME
instrumentation_libnanox_instrumentation_ayudame_la_CPPFLAGS=$(common_instrumentation_CPPFLAGS) $(ayudame_cxxflags) instrumentation_libnanox_instrumentation_ayudame_la_CPPFLAGS=$(common_instrumentation_CPPFLAGS) $(ayudame_cppflags)
instrumentation_libnanox_instrumentation_ayudame_la_CXXFLAGS=$(common_instrumentation_CXXFLAGS) $(ayudame_cxxflags) instrumentation_libnanox_instrumentation_ayudame_la_CXXFLAGS=$(common_instrumentation_CXXFLAGS)
instrumentation_libnanox_instrumentation_ayudame_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(ayudame_ldflags) instrumentation_libnanox_instrumentation_ayudame_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(ayudame_ldflags)
instrumentation_libnanox_instrumentation_ayudame_la_LIBADD=$(top_builddir)/src/apis/instrumentation/libnanox-c.la instrumentation_libnanox_instrumentation_ayudame_la_LIBADD=$(top_builddir)/src/apis/instrumentation/libnanox-c.la
instrumentation_libnanox_instrumentation_ayudame_la_SOURCES=$(ayudame_sources) instrumentation_libnanox_instrumentation_ayudame_la_SOURCES=$(ayudame_sources)
...@@ -940,8 +941,8 @@ instrumentation_libnanox_instrumentation_ayudame_la_DEPENDENCIES=$(top_builddir) ...@@ -940,8 +941,8 @@ instrumentation_libnanox_instrumentation_ayudame_la_DEPENDENCIES=$(top_builddir)
endif endif
if instrumentation_NEXTSIM if instrumentation_NEXTSIM
instrumentation_libnanox_instrumentation_nextsim_la_CPPFLAGS=$(common_instrumentation_CPPFLAGS) $(nextsim_cxxflags) instrumentation_libnanox_instrumentation_nextsim_la_CPPFLAGS=$(common_instrumentation_CPPFLAGS) $(nextsim_cppflags)
instrumentation_libnanox_instrumentation_nextsim_la_CXXFLAGS=$(common_instrumentation_CXXFLAGS) $(nextsim_cxxflags) instrumentation_libnanox_instrumentation_nextsim_la_CXXFLAGS=$(common_instrumentation_CXXFLAGS)
instrumentation_libnanox_instrumentation_nextsim_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) instrumentation_libnanox_instrumentation_nextsim_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags)
instrumentation_libnanox_instrumentation_nextsim_la_SOURCES=$(nextsim_sources) instrumentation_libnanox_instrumentation_nextsim_la_SOURCES=$(nextsim_sources)
endif endif
...@@ -985,15 +986,15 @@ instrumentation_debug_libnanox_instrumentation_tdg_la_LDFLAGS=$(AM_LDFLAGS) $(ld ...@@ -985,15 +986,15 @@ instrumentation_debug_libnanox_instrumentation_tdg_la_LDFLAGS=$(AM_LDFLAGS) $(ld
instrumentation_debug_libnanox_instrumentation_tdg_la_SOURCES=$(tdg_sources) instrumentation_debug_libnanox_instrumentation_tdg_la_SOURCES=$(tdg_sources)
if instrumentation_EXTRAE if instrumentation_EXTRAE
instrumentation_debug_libnanox_instrumentation_extrae_la_CPPFLAGS=$(common_instrumentation_debug_CPPFLAGS) $(extrae_mpitrace_cxxflags) instrumentation_debug_libnanox_instrumentation_extrae_la_CPPFLAGS=$(common_instrumentation_debug_CPPFLAGS) $(extrae_cppflags)
instrumentation_debug_libnanox_instrumentation_extrae_la_CXXFLAGS=$(common_instrumentation_debug_CXXFLAGS) $(extrae_mpitrace_cxxflags) instrumentation_debug_libnanox_instrumentation_extrae_la_CXXFLAGS=$(common_instrumentation_debug_CXXFLAGS)
instrumentation_debug_libnanox_instrumentation_extrae_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(extrae_mpitrace_ldflags) instrumentation_debug_libnanox_instrumentation_extrae_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(extrae_ldflags)
instrumentation_debug_libnanox_instrumentation_extrae_la_SOURCES=$(extrae_sources) instrumentation_debug_libnanox_instrumentation_extrae_la_SOURCES=$(extrae_sources)
endif endif
if instrumentation_AYUDAME if instrumentation_AYUDAME
instrumentation_debug_libnanox_instrumentation_ayudame_la_CPPFLAGS=$(common_instrumentation_debug_CPPFLAGS) $(ayudame_cxxflags) instrumentation_debug_libnanox_instrumentation_ayudame_la_CPPFLAGS=$(common_instrumentation_debug_CPPFLAGS) $(ayudame_cppflags)
instrumentation_debug_libnanox_instrumentation_ayudame_la_CXXFLAGS=$(common_instrumentation_debug_CXXFLAGS) $(ayudame_cxxflags) instrumentation_debug_libnanox_instrumentation_ayudame_la_CXXFLAGS=$(common_instrumentation_debug_CXXFLAGS)
instrumentation_debug_libnanox_instrumentation_ayudame_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(ayudame_ldflags) instrumentation_debug_libnanox_instrumentation_ayudame_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(ayudame_ldflags)
instrumentation_debug_libnanox_instrumentation_ayudame_la_SOURCES=$(ayudame_sources) instrumentation_debug_libnanox_instrumentation_ayudame_la_SOURCES=$(ayudame_sources)
endif endif
...@@ -1036,15 +1037,15 @@ performance_libnanox_instrumentation_tdg_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_fl ...@@ -1036,15 +1037,15 @@ performance_libnanox_instrumentation_tdg_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_fl
performance_libnanox_instrumentation_tdg_la_SOURCES=$(tdg_sources) performance_libnanox_instrumentation_tdg_la_SOURCES=$(tdg_sources)
if instrumentation_EXTRAE if instrumentation_EXTRAE
performance_libnanox_instrumentation_extrae_la_CPPFLAGS=$(common_performance_CPPFLAGS) $(extrae_mpitrace_cxxflags) performance_libnanox_instrumentation_extrae_la_CPPFLAGS=$(common_performance_CPPFLAGS)
performance_libnanox_instrumentation_extrae_la_CXXFLAGS=$(common_performance_CXXFLAGS) $(extrae_mpitrace_cxxflags) performance_libnanox_instrumentation_extrae_la_CXXFLAGS=$(common_performance_CXXFLAGS)
performance_libnanox_instrumentation_extrae_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(extrae_mpitrace_ldflags) performance_libnanox_instrumentation_extrae_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags)
performance_libnanox_instrumentation_extrae_la_SOURCES=$(extrae_sources) performance_libnanox_instrumentation_extrae_la_SOURCES=$(extrae_sources)
endif endif
if instrumentation_AYUDAME if instrumentation_AYUDAME
performance_libnanox_instrumentation_ayudame_la_CPPFLAGS=$(common_performance_CPPFLAGS) $(ayudame_cxxflags) performance_libnanox_instrumentation_ayudame_la_CPPFLAGS=$(common_performance_CPPFLAGS) $(ayudame_cppflags)
performance_libnanox_instrumentation_ayudame_la_CXXFLAGS=$(common_performance_CXXFLAGS) $(ayudame_cxxflags) performance_libnanox_instrumentation_ayudame_la_CXXFLAGS=$(common_performance_CXXFLAGS)
performance_libnanox_instrumentation_ayudame_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(ayudame_ldflags) performance_libnanox_instrumentation_ayudame_la_LDFLAGS=$(AM_LDFLAGS) $(ld_plugin_flags) $(ayudame_ldflags)
performance_libnanox_instrumentation_ayudame_la_SOURCES=$(ayudame_sources) performance_libnanox_instrumentation_ayudame_la_SOURCES=$(ayudame_sources)
endif endif
......
...@@ -21,8 +21,6 @@ ...@@ -21,8 +21,6 @@
#include "system.hpp" #include "system.hpp"
#include "instrumentation.hpp" #include "instrumentation.hpp"
#include "instrumentationcontext_decl.hpp" #include "instrumentationcontext_decl.hpp"
#include <extrae_types.h>
#include <mpitrace_user_events.h>
#include "debug.hpp" #include "debug.hpp"
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/types.h> #include <sys/types.h>
...@@ -39,6 +37,10 @@ ...@@ -39,6 +37,10 @@
#include "errno.h" #include "errno.h"
#include <unistd.h> #include <unistd.h>
#ifdef NANOS_INSTRUMENTATION_ENABLED
#include <extrae_types.h>
#include <mpitrace_user_events.h>
#define extrae_size_t unsigned int #define extrae_size_t unsigned int
extern "C" { extern "C" {
...@@ -50,6 +52,7 @@ extern "C" { ...@@ -50,6 +52,7 @@ extern "C" {
void nanos_ompitrace_instrumentation_barrier(); void nanos_ompitrace_instrumentation_barrier();
void Extrae_change_num_threads (unsigned nthreads); void Extrae_change_num_threads (unsigned nthreads);
} }
#endif
namespace nanos { namespace nanos {
...@@ -285,6 +288,7 @@ class InstrumentationExtrae: public Instrumentation ...@@ -285,6 +288,7 @@ class InstrumentationExtrae: public Instrumentation
/* Keep current number of threads */ /* Keep current number of threads */
_maxThreads = sys.getSMPPlugin()->getNumThreads(); _maxThreads = sys.getSMPPlugin()->getNumThreads();
Extrae_change_num_threads( _maxThreads );
} }
void doLs(std::string dest) void doLs(std::string dest)
{ {
......