Презентацию к данной лекции Вы можете скачать здесь.
Три уровня оптимизации:
1 шаг анализа производительности программы - на уровне системы.
Цель оптимизации на уровне системы – добиться наиболее эффективного взаимодействия программы с системой. Наличие проблем на уровне системы может лишить смысла оптимизацию программы на других уровнях (если программа мало загружает процессор из-за проблем на уровне системы, даже серьезное ускорение на уровне архитектуры не даст, скорее всего, заметного выигрыша).
Оптимизация на уровне приложения - оптимизация алгоритмов.
Выполняется анализ:
3 (самый нижний) уровень анализа – уровень архитектуры. Обладает наименьшим потенциалом эффективности.
Ключевые факторы:
Наибольший выигрыш (в несколько раз по производительности) достигается на уровне системы.
Умеренный выигрыш - на уровне приложения.
Небольшой выигрыш (до нескольких десятков процентов) - на уровне архитектуры процессора.
При анализе выполнения программы в первую очередь следует обратить внимание на следующие факторы:
В Help имеется информация о событиях, по которым возможен сбор статистики.
Необходим правильно подготовленный тестовый набор данных, соответствующий "стандартной" для данного приложения ситуации. Запуск приложения с этим набором данных даёт опорную точку, по которой будет определяться эффективность различных методов оптимизации производительности.
Intel® VTune Amplifier XE – эксIntel® VTune Performance Analyzer – инструмент динамического анализа приложений.
Многоплатформенный: MS Windows, Linux.
Совместимость с : C/C++, Fortran, .NET, ассемблер.
Интеграция с Microsoft Visual Studio.
Возможность работы в режиме командной строки (CLI).
Поддержка автономного интерфейса.
Входит в состав следующих пакетов:
Позволяет выполнять анализ следующего вида:
Графический интерфейс:
Набор заранее сгенерированных профилей анализа.
Сбор статистики:
Idle – все ядра находятся в состоянии ожидания. Ни один поток не выполняется.
Poor – доля одновременно работающих ядер < 50%.
Ok – доля одновременно работающих ядер от 51% до 85%.
Ideal – доля одновременно работающих ядер > 86%.
Idle – все потоки находятся в состоянии ожидания. Ни один поток не выполняется.
Poor – низкая эффективность. Доля используемых потоков < 50% от степени параллелизма архитектуры.
Ok – хорошая эффективность. Доля используемых потоков от 51% до 85% от степени параллелизма архитектуры.
Ideal – очень хорошая эффективность. Доля используемых потоков от 86% до 115% от степени параллелизма архитектуры.
Over – избыточная эффективность. Доля используемых потоков > 115% от степени параллелизма архитектуры.
Hotspot – это фрагмент, в котором программа проводит значительную часть времени.
Hotspots определяются в терминах событий CPU_CLK_UNHALTED.THREAD ("тиков").
2 вида анализа Intel® VTune Amplifier XE:
Промахи увеличивают CPI (Clocks Per Instruction).
Анализ выполняется в режиме General Exploration.
Метрики LLC_Hit, LLC_Miss.
Как уменьшить количество промахов:
Одному ядру нужны данные, модифицированные другим ядром. Инициируется транзакция между кэш-памятью ядра, модифицировавшего данные и ядра, которому эти данные нужны.
"Пинг-понг" увеличивает время выполнения.
False sharing – модифицируются разные фрагменты одного набора данных, находящиеся в одной строке кэш-памяти.
True sharing – модификация одних и тех же данных.
Отсутствие выравнивания увеличивает количество транзакций.
Профиль General Exploration.
Метрика 4K Aliasing.
Что делать:
Ошибки предсказания ветвлений ухудшают эффективность, так как инициируются дополнительные выборки инструкций.
Профиль General Exploration.
Метрика Branch Mispredict.
Ошибки предсказания ветвлений есть всегда!
Что делать, чтобы минимизировать число ошибок предсказания ветвлений: использовать при компиляции оптимизацию на основе профилирования.
Процессоры Intel® Core 2-го поколения поддерживают технологии:
Эти технологии влияют на анализ. Статистика по некоторым событиям собирается по потокам, а по некоторым – по ядрам.
При анализе приложения часто отключают поддержку (BIOS), затем анализ повторяется при включенной поддержке.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.