Автоматическое инструментирование с Score-P / Vampirtrace, не работающим с gcc / g ++ - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть простой 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
...