Automatic instrumentation with Score-P / Vampirtrace not working with gcc/g++

202 views Asked by At

I have a simple helloworld.cpp to instrument with Score-P or Vampirtrace.

Installation of the performance/ tracing tools works fine. After compiling and running:

# score-p
scorep-g++ helloworld.cpp -o hello
export SCOREP_ENABLE_TRACING=true
export SCOREP_ENABLE_PROFILING=true
# vampirtrace
vtcxx -DVTRACE helloworld.cpp -o hello
# run
./hello

The created OTF files (OTF for vampirtrace/ OTF2 for Score-P) are more or less empty (no timeline data). I'm using Vampir to visualize the data.

More details:

I'm testing on Mac OS X (g++-8) and Xubuntu (g++-7; VirtualBox). For Mac OS X I have installed brew install gcc.

For the instrumented Score-P version I also got a warning

[Score-P] src/measurement/profiling/scorep_profile_callpath.c:206: Warning: Master thread contains no regions.

but I can't find related issues/ help.

I also installed TAU and PDT for Vampirtrace, but nothing changed. By the way manual instrumentation works for Vampirtrace:

#include "vt_user.h"
...
VT_TRACER("name");

For Vampirtrace I also tested OpenMP instrumentation and this was working, but only that (no application tracing around).

For both environments I did not install Open MPI.

It would be great, if somebody has similar issues and could help.

PS: Later, I want to instrument an application with Poco::Threads. I only read about partial support for POSIX Threads.

Update

The problem is g++. I tried the same instrumentation with Intel icc and it worked.

The missing instrumentation with g++ is also possible with icc, if you add the parameter --nocompiler like

score-p --nocompiler icc helloworld.cpp -o hello

Update

I had to install missing packages. There are logging outputs for ./configure with hints. One of the following package solved it:

apt-get install llvm libwrap0-dev libclang-dev gcc-7-plugin-dev
0

There are 0 answers