我有一个简单的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
就像
score-p --nocompiler icc helloworld.cpp -o hello
更新
我必须安装缺少的软件包。 ./configure
有带提示的日志输出。以下软件包之一解决了该问题:
apt-get install llvm libwrap0-dev libclang-dev gcc-7-plugin-dev