Измерение производительности — получение среднего времени вызова для каждой функции. Усилитель Intel Vtune

Я просто пытаюсь получить среднее время, необходимое для запуска каждой функции. Это означает, что я хочу: «Общее время внутри функции» / «Количество вызовов функции»

Я получаю всевозможную информацию, когда запускаю анализ из VTune. Вот настройки, которые я использую:

Основные настройки точки доступа

А также:

Дополнительные настройки точки доступа

Но я не могу найти, где среднее время. Я вижу общее время для каждой функции, но не могу найти количество вызовов.

Использование Visual Studio 2012, Vtune Amplifier XE 2013, обновление 9.

Пожалуйста помоги.


person ZivS    schedule 31.05.2015    source источник


Ответы (1)


1) Вы должны запустить анализ "Расширенные точки доступа", настроенный так, как показано на вашем втором снимке экрана. «Базовые точки доступа» НЕ будут предоставлять вам информацию о количестве вызовов.

2) После того, как вы завершили «Расширенные точки доступа», вы можете найти статистическое (приблизительное) количество вызовов в Просмотре снизу вверх, как показано на экране- снято ниже:

введите здесь описание изображения

Наконец, убедитесь, что у вас выбран режим «Петли и функции» в нижней правой части графического интерфейса (это верно по умолчанию, но кто знает, с какими параметрами вы играли).

3) Чтобы вычислить общее время и собственное время, не забудьте убедиться, что вы изменили «точку обзора» на «горячие точки» (см. область, выделенную зеленым цветом на моем первом снимке экрана, а также см. следующую картинку). введите здесь описание изображения

4) Начиная с версии 2016 года Parallel Studio имеет

  • "точное количество вызовов цикла и количество поездок"
  • "точное количество вызовов функции"

инструмент измерения (а также общее, собственное и даже прошедшее время и множество анализов, связанных с SIMD-параллелизмом), доступный в "Intel (он же "векторизация") Advisor", см. дополнительную информацию здесь: введите здесь описание изображения

person zam    schedule 01.06.2015
comment
Спасибо, я попробую. Что вы имеете в виду под фактическим запуском... если я выбрал его и нажал кнопку запуска, это означает, что я действительно запустил его, не так ли? - person ZivS; 01.06.2015
comment
Еще 1 вещь, я вижу, что вы смотрите с точки зрения количества выборок аппаратных событий. Я прочитал здесь: software.intel.com/en-us/articles/ это то, что мне нужно, но у меня нет опции облегченной точки доступа и не мог видеть столбцы, которые они там показывают. Не могли бы вы опубликовать, как вы настроили анализатор перед началом анализа, пожалуйста? - person ZivS; 01.06.2015
comment
Облегченные точки доступа == Расширенные точки доступа. Вы увидите подтверждение здесь: software.intel.com/en-us/articles/ - person zam; 01.06.2015
comment
Итак, мой вывод: вы запустили соответствующий тип анализа (Advanced Hotspots), который вы правильно настроили. Но после этого вы не можете найти информацию в графическом интерфейсе (то ли потому, что ее нелегко найти, то ли из-за ошибки). Чтобы понять причину, я изменил скриншот в своем ответе. Могу я попросить вас убедиться, что вы действительно выбрали подходящую точку обзора (см. зеленую подсветку) и переключились на режим «Снизу вверх» (красный прямоугольник)? - person zam; 01.06.2015
comment
спасибо, я не знаю, почему у меня не было этой колонки, но теперь я вижу ее! - person ZivS; 04.06.2015
comment
:) Итак, я получил количество вызовов, теперь мне нужно выяснить, как получить общее время, которое приложение провело в какой-либо функции, еще лучше, у меня есть задача (которую я вызываю из своего кода что-то вроде itt_begin\end), и мне нужно его общее время .. вы можете помочь мне с этим, может быть, также? - person ZivS; 05.06.2015
comment
Хорошо, я обновил свой ответ выше с помощью маркера (3), который должен ответить на ваш общий вопрос, по крайней мере, для функций (не уверен, что получил ваш вопрос об этом API). - person zam; 05.06.2015