Intel Advisor: метод проверки, включая все подметоды - PullRequest
1 голос
/ 13 марта 2019

Используя Intel Advisor и модель линии крыши, я бы хотел оценить производительность определенной функции.Эта функция использует библиотеку Eigen для матричных операций, где основная часть работы выполнена.

На выходе я вижу свою функцию с относительно небольшим собственным временем и несколько собственных функций, вызываемых моей функцией.Теперь я хотел бы сгруппировать все операции FLOPS и памяти для моей функции вместе (а не для каждой отдельной функции) и использовать этот результат для модели линии крыши.Как мне этого добиться?

Примечание: Я разместил аналогичный вопрос на форуме поддержки Intel [1].

[1] https://software.intel.com/en-us/forums/intel-advisor-xe/topic/806091

1 Ответ

1 голос
/ 15 марта 2019

Чтобы выполнить агрегирование петли / функций на диаграмме линии советника, вы должны запустить "Roofline with CallStacks", как описано в https://software.intel.com/en-us/articles/roofline-with-callstacks

Более конкретно, в случае командной строки, вы должны использовать: advixe-cl -collect survey -project-dir MyResults -- MyExecutable advixe-cl -collect tripcounts -flop -stacks -project-dir MyResults -- MyExecutable (NB -стеки дополнительный флаг).

После того, как вы закончите, вам нужно найти точку, соответствующую вашей функции на графике и "свернуть" ее.По сути, Roofline с Callstacks позволяет настроить уровень детализации / вложенности вашей модели / диаграммы Roofline.Навигация по точкам «родитель-потомок» на линии Roofline с помощью Callstacks проще, если либо использовать вид сверху вниз рядом с диаграммой Roofline, либо при расширении правого представления «стеки вызовов на крыше»:

navigation using

...