Какой функционал взаимодействии с аппаратный частью поддерживает intel tune amplifier ксе

Обновлено: 02.05.2024

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

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 Анализ собранных данных профайлера:

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

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

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

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

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

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


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

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 - Исходный код программы и дизассемблированный.

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


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

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


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

Технология виртуализации Intel® абстрагирует оборудование, которое поддерживает возможность общего доступа к одному набору ресурсов для нескольких рабочих нагрузок. На общем виртуализированном оборудовании можно совмещать различные рабочие нагрузки при сохранении полной изоляции друг от друга, свободной миграции по инфраструктурам и масштабировании по мере необходимости.

Для работы технологии виртуализации Intel® необходимо наличие компьютерной системы со следующими элементами. Для получения дополнительной информации свяжитесь с поставщиком.

  • Процессор
  • Набор микросхем
  • BIOS
  • Операционная система
  • Драйверы устройств

Чтобы узнать, поддерживает ли ваш процессор Intel® технологию виртуализации Intel®, воспользуйтесь одним из следующих вариантов:

В: Как можно проверить, поддерживает ли мой процессор Intel® технологию виртуализации Intel® (VT-x)?

Использование процессора Intel® Core™ i7-8700K в качестве примера:

  • Введите номер процессора в поле поиска.
  • На странице спецификаций процессоров в разделе передовых технологий обратите внимание на поле технологии виртуализации Intel® (VT-x).

Поле поиска

Список передовых технологий

В: Как включить или отключить технологию виртуализации Intel® (VT-x)?

При использовании процессора Intel® и версии BIOS с поддержкой VT-x эту технологию можно включить или отключить в BIOS. Если этот параметр недоступен в вашей версии BIOS, обратитесь к производителю вашей системной платы.

В: Мой процессор поддерживает технологию виртуализации Intel® (VT-x), но я не могу включить ее в BIOS.

Если процессор поддерживает VT-x, но параметр в BIOS недоступен, обратитесь к производителю вашей системной платы, чтобы сделать параметр доступным.

В: Как узнать, включена ли технология виртуализации Intel® (VT-x) в моей системе?

Вы можете использовать ПО для идентификации процессоров Intel®, чтобы узнать, поддерживает ли ваша система технологию виртуализации Intel®.

В инструменте выберите вкладку технологии ЦП. Проверьте, установлен ли флажок около технологии виртуализации Intel®.

Ниже приведен пример доступности технологии виртуализации Intel®.

Виртуализация Intel доступна

Ниже приведен пример недоступности технологии виртуализации Intel®.

Виртуализация Intel недоступна

Если флажок около технологии виртуализации Intel® не установлен, возможно, ваш процессор поддерживает технологию виртуализации Intel®, но она уже была использована другим программным обеспечением с гипервизором. В этом случае вы также можете проверить это в Диспетчере задач.

Ниже приведен пример отображения включенной технологии виртуализации Intel® в Диспетчере задач:

Виртуализация Intel включена с помощью Диспетчера задач

В таблице ниже можно узнать, поддерживает ли ваш процессор виртуализацию Intel®, отключена ли она, а также дополнительную информацию.

ПО для идентификации процессоров Intel® Диспетчер задач Обзор
Виртуализация Intel® (флажок установлен) Виртуализация включена Виртуализация Intel® включена и доступна для использования.
Виртуализация Intel® (флажок установлен) Виртуализация отключена Виртуализация Intel® отключена в BIOS.
Виртуализация Intel® (флажок снят) Виртуализация включена Виртуализация Intel® включена, но она используется другим программным обеспечением на компьютере.
Виртуализация Intel® (флажок снят) Виртуализация отключена Виртуализация Intel® не поддерживается процессором.

В: Если процессор Intel® поддерживает технологию виртуализации Intel® (VT-x), должны ли ее поддерживать также набор микросхем, ОС и драйверы?

Для поддержки технологии виртуализации Intel® необходимо, чтобы ее поддерживали процессор и BIOS. Но в случае VT-d (доверенное приложение виртуализации ввода-вывода) необходимо, чтобы BIOS, набор микросхем и процессор также поддерживали ее.

В: Как отключить технологию виртуализации Intel® (VT-x), если параметр отсутствует в BIOS?

При использовании процессора Intel® и версии BIOS с поддержкой VT-x эту технологию можно включить или отключить в BIOS. Если этот параметр недоступен в вашей версии BIOS, обратитесь к производителю вашей системной платы.

В дополнение к новой графической архитектуре и улучшениям мультимедийного блока Intel Xe (она же Intel Gen12) сможет предложить ещё одну потенциально весьма приятную особенность. Ускорители Intel следующего поколения получат поддержку аппаратного декодирования видеопотока в формате AV1.


Ранее уже сообщалось о том, будто Xe сможет предложить поддержку декодирования AV1, но до сих пор уверенности в этом не было. Однако благодаря выходу новой версии драйвера Intel Media Driver для Linux подтверждено: графика Gen12 действительно поддерживает декодирование AV1. Это приятно видеть.

Код, отвечающий за аппаратное декодирование AV1 следующей графикой Intel, занимает примерно 33 тысячи строк. Этот декодер AV1 для процессоров Tiger Lake и Rocket Lake, а также для дискретных видеокарт Xe DG1 будет частью выпуска Intel Media Driver 20.3 для пользователей Linux.


Помимо процессоров с поддержкой аппаратного декодирования за счёт встроенной графики, видеокарты Xe могут стать первыми на рынке с такой же возможностью. Код Intel Media Driver сейчас не указывает на то, что Gen12 поддерживает кодирование в формат AV1, но, по крайней мере, имеется декодер Intel SVT-AV1.


Напомним: представленный в 2018 году полностью открытый кодек AV1 был поддержан основными игроками рынка потокового вещания. Он обеспечивает поддержку потокового видео в сверхвысоких разрешениях (4K и выше), с расширенной цветовой палитрой и различными технологиями HDR. По сравнению с VP9, по словам AOMedia, он способен обеспечить на 30 % более эффективное сжатие, а также может похвастать максимальной гибкостью и масштабируемостью. Поставщики аппаратного обеспечения подтвердили поддержку нового кодека, и конечные устройства с аппаратным декодированием AV1 должны появиться к концу текущего года.

image

Автор: Positive Technologies рейтинг

Технология Intel ME (или AMT, Active Management Technology) является одним из самых загадочных и мощных элементов современных x86-платформ. Инструмент изначально создавался в качестве решения для удаленного администрирования. Однако он обладает столь мощной функциональностью и настолько неподконтролен пользователям Intel-based устройств, что многие из них хотели бы отключить эту технологию, что сделать не так-то просто.

На прошедшем 17 и 18 мая в Москве форуме Positive Hack Days VI исследователи Positive Technologies Максим Горячий и Марк Ермолов представили несколько техник отключения Intel ME, сопроводив доклад видеодемонстрацией процесса.

Что это, и зачем нужно отключать

Подсистема Intel Management Engine (ME) представляет собой дополнительный «скрытый» процессор, который присутствует во всех устройствах на базе чипсетов Intel (не только в PC и ноутбуках, но и в серверах). Среда исполнения ME никогда не «спит» и работает даже при выключенном компьютере (при наличии дежурного напряжения), а также имеет доступ к оперативной памяти, сетевому интерфейсу, USB контроллеру и встроенному графическому адаптеру.

Несмотря на столь обширные возможности, существуют вопросы к уровню защищенности ME — ранее исследователи уже находили серьезные уязвимости и векторы атак. Кроме того, подсистема содержит потенциально опасные функции — удаленное управление, NFC, скрытый сервисный раздел (hidden service partition). Интерфейсы подсистемы ME недокументированы, а реализация закрыта.

Все эти причины приводят к тому, что многие рассматривают технологию ME в качестве «аппаратной закладки». Ситуацию усугубляет тот факт, что с одной стороны у пользователя устройства нет возможностей по отключению этой функциональности, а с другой производитель оборудования может допустить ошибки в конфигурации МЕ.

Хорошая новость заключается в том, что способы отключения ME все же существуют.

Техники отключения Intel ME

Исследователи компании Positive Technologies Максим Горячий и Марк Ермолов в ходе состоявшегося в Москве форума Positive Hack Days VI представили доклад, посвященный отключению Intel ME. Специалисты описали несколько техник отключения данной подсистемы:

  1. Основанные на сбое инициализации ME;
  2. Через механизм обновления микропрограммы ME;
  3. Недокументированные команды
  4. Недокументированный механизм, предназначенный для разработчиков аппаратуры — Manufacture Mode.

Большинство методов отключения используют встроенные механизмы ME, разработанные для вендоров устройств на платформе Intel. Все они подробно описаны в презентации, которая опубликована на GitHub. По ссылке представлено демонстрационное видео отключения ME (оно же ниже):

И тем не менее, возникает резонный вопрос: «Действительно ли ME перестает работать в полном объеме при использовании ее встроенных механизмов отключения?» В качестве доказательства факта отключения МЕ исследователи приводят следующий аргумент: ME работает в двух режимах использования памяти: только SRAM (встроенный в ME) и SRAM + UMA. UMA — это часть памяти хоста, которая используется как подкачиваемая память (swap). После инициализации DRAM-контроллера хостом ME всегда переключается в режим SRAM + UMA.

Таким образом, если ME действительно выключена, то при отключении на аппаратном уровне доступа МЕ к UMA-памяти в произвольный момент (посредствам канала VСm), в МЕ не будет происходить аппаратных сбоев, связанных с отсутствием данных и кода, которые были вытеснены в UMA память (такие аппаратные сбои приводят к аварийному отключению питания с основных аппаратных компонентов платформы). С другой стороны применение этих методов позволяет осуществить DoS-атаки на технологию AMT в случае ее применения для удаленного управления.

Читайте также: