Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаба 3 Профайлер / Методичка_по_профайлеру.docx
Скачиваний:
19
Добавлен:
29.03.2016
Размер:
924.99 Кб
Скачать

2.2 Возможности Intel vTune Amplifier xe 2013

Профилировщик VTune разработан корпорацией Intel и предназначен для профилирования приложений, создаваемых для ОС Windows 8, 7, XP и более поздних версий.

VTune позволяет:

1. Профилировать приложения Windows и Java с использованием временных или событийно-управляемых выборок, а также производить анализ программы на «узкие места»:

  • получить развернутую картину распределения процессорного времени между участками программы;

  • определить секции кода, выполнение которых занимает наибольшее время;

  • проанализировать «узкие места», отобразить соответствующий код на языке высокого уровня и рассмотреть вопросы производительности на уровне исходной программы и ассемблерного кода;

  • собирать информацию о поведении системы во время выполнения профилируемого приложения;

2. Отобразить граф вызова функций (отображение в графической форме потоков управления, созданных во время выполнения приложения, создание полного списка всех вызываемых функций и связей между вызывающей и вызываемой функциями). В этом режиме также можно оценить время выполнения функций.

3. Анализ производительности путем статического анализа кода:

  • анализировать код функций или отмеченных блоков без выполнения приложения;

  • получить список функций и их соответствующих адресов для быстрого доступа к коду.

4. Анализ производительности на процессорном уровне с использованием статического ассемблерного анализатора.

5. Получить совет по возможной оптимизации кода на ассемблере, С, FORTRAN, C++, Java с использованием модуля “code coach”

3. Работа с Intel vTune Amplifier xe 2013 в среде разработки Visual Studio

3.1 Начало работы

1. Устанавливаем параллельный пакет разработки программного обеспечения Intel Parallel Studio,  сочетающий в себе ведущие инструменты профилирования.  В комплект поставки входят программные продукты:

 Intel Parallel Advisor,

 Intel Parallel Composer,

 Intel Parallel Inspector,

Intel VTune Amplifier.

Далее нас будет интересовать конкретно VTune Amplifier (из всего пакета разработки программного обеспечения можно выборочно установить только данный профайлер).

2. По завершении установки в среде разработки Visual Studio появляется отдельная панель инструментов Intel VTune Amplifier:

Рисунок 1 - панель инструментов Intel VTune Amplifier

Далее жмем на кнопку New Analysis и нам открывается начальное окно нашего профайлера Intel VTune Amplifier XE 2013. В окне мы нажатием на кнопку Start, которая позволяет отпрофилировать написанную программу.

Рисунок 2 – окно начала анализа Intel VTune Amplifier.

3.2 Анализ собранных данных профайлера:

По завершении процесса профилирования нам будет представлена информация в следующих вкладках:

  1. Summary: в этой вкладке отображается общая информация о выполнении программы (Рисунок 3):

  • Elapsed Time - общее время выполнения программы;

  • Top Hotspots – в этом разделе перечислены наиболее активные функции в исследуемом приложении. Оптимизации этих функций (горячих точек), как правило, приводит к улучшению производительности приложений в целом;

  • CPU Usage Histogram - гистограмма использования процессорного времени;

  • Collection and Platform Info - этот раздел содержит информацию о коллекции и платформе.

Рисунок 3 - Информация вкладки Summary.

  1. Bottom-up: представлена информация о всех функциях(Рисунок 4):

  • CPU Time by Utilization - время выполнения каждой функции;

  • Overhead and Spin Time - время, потраченное на накладные расходы, т.е. часть времени CPU, которая тратится на синхронизацию потоков, распределение работы между ними и т.д.;

  • Source File - информация об исходных файлах;

  • Start Address - адрес начала выполнения.

Рисунок 4 - Информация вкладки Bottom-up.

2.1 VTune Amplifier XE может давать детальную информацию о накладных расходах и активном ожидании (spin waiting). Вы можете оценить, какая доля процессорного времени потрачена на накладные расходы в конкретной функции, модуле или инструкции. Вы можете использовать как значения времени в таблице, так и графическое представление на временной шкале.

Рисунок 5 - Детальная информация о накладных расходах.

2.2 Выбирая параметр в поле Grouping можно выбирать метод сортировки отображения информации о функциях: по процессам, по ядрам, группировка в классы, в модули и др.

Рисунок 6 - Параметры в поля Grouping.

2.3 Двойное нажатие на имя функции позволит посмотреть исходный код программы (а точнее акцентировать внимание на выбранной функции) и посмотреть время выполнения конкретных операций. Так же возможно дизассемблирование кода по нажатию на клавишу Assembly.

Рисунок 7 - Исходный код программы и дизассемблированный.

  1. Top-down Tree: представляет весь проект в качестве дерева. Используется для изучения последовательности вызова приложения и для анализа времени.

Рисунок 8 - Информация вкладки Top-down Tree.

  1. Caller/Callee: вкладка соединяет в себе лучшее от Bottom-up и Top-down. Там показаны собственное время исполнения каждой функции и полное время, с учётом вызываемых функций. Для выделенной функции в верхнем правом окне показаны её родители (Callers), а в нижнем правом – вызываемые функции (Callees). В окне Caller/Callee вы можете исследовать последовательности вызовов, и вклад каждого уровня в потребление CPU. Вы можете отфильтровать по полному времени любой функции и получить все деревья, имеющие эту функцию на каком-либо уровне. Так можно обнаружить наиболее критическую ветвь вызовов.

Рисунок 9 - Информация вкладки Caller/Callee.