使用Score-P / Vampirtrace进行自动检测不适用于gcc / g ++

时间:2019-02-26 16:20:33

标签: c++ g++ tracing icc scorep

我有一个简单的helloworld.cpp可用于Score-P或Vampirtrace。

性能/跟踪工具的安装正常。编译并运行后:

# 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

创建的OTF文件(vampirtrace的OTF / Score-P的OTF2)或多或少是空的(没有时间轴数据)。我正在使用Vampir可视化数据。

更多详细信息:

我正在Mac OS X(g ++-8)和Xubuntu(g ++-7; VirtualBox)上进行测试。 对于Mac OS X,我已经安装了brew install gcc

对于仪表化的Score-P版本,我也收到了警告

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

但是我找不到相关的问题/帮助。

我还为Vampirtrace安装了TAU和PDT,但没有任何变化。顺便说一句,手动仪器适用于Vampirtrace:

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

对于Vampirtrace,我还测试了OpenMP工具,并且该工具仍然有效,但仅此而已(没有应用程序在跟踪)。

在这两种环境下,我都没有安装Open MPI。

如果有人遇到类似的问题并且可以提供帮助,那将是很好的。

PS:稍后,我想使用Poco :: Threads来检测应用程序。我只读到部分支持POSIX线程。

更新

问题是g++。我在Intel icc上尝试了相同的工具,并且奏效了。

如果您添加参数--nocompiler就像

,icc也可能会丢失g ++工具。
score-p --nocompiler icc helloworld.cpp -o hello

更新

我必须安装缺少的软件包。 ./configure有带提示的日志输出。以下软件包之一解决了该问题:

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

0 个答案:

没有答案