У меня есть простой 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 (OTF для vampirtrace / OTF2 для Score-P) более или менее пусты (нет данных временной шкалы).Я использую Vampir для визуализации данных.
Подробнее:
Я тестирую на Mac OS X (g ++ - 8) и Xubuntu (g ++ - 7; VirtualBox).Для Mac OS XI установлено brew install gcc
.
. Для инструментальной версии Score-P я также получил предупреждение
[Score-P] src/measurement/profiling/scorep_profile_callpath.c:206: Warning: Master thread contains no regions.
, но я не могу найти связанные вопросы / помощь.
Я также установил TAU и PDT для Vampirtrace, но ничего не изменилось.Кстати, ручные инструменты работают для Vampirtrace:
#include "vt_user.h"
...
VT_TRACER("name");
Для Vampirtrace я также тестировал инструменты OpenMP, и это работало, но только это (без отслеживания приложений).
Для обеих средне устанавливал Open MPI.
Было бы замечательно, если бы у кого-то были похожие проблемы, и он мог бы помочь.
PS: Позже я хочу использовать приложение с Poco :: Threads.Я только читаю о частичной поддержке потоков POSIX.
Обновление
Проблема g++
.Я попробовал ту же аппаратуру с Intel icc
, и она сработала.
Отсутствующая аппаратура с g ++ также возможна с icc, если вы добавите параметр --nocompiler
как
score-p --nocompiler icc helloworld.cpp -o hello
Обновление
Мне пришлось установить недостающие пакеты.Для ./configure
есть логирующие выходы с подсказками.Один из следующих пакетов решил это:
apt-get install llvm libwrap0-dev libclang-dev gcc-7-plugin-dev