Vtune программа для чего

Содержание

Intel VTune Performance Analyzer (анализатор производительности) — коммерческое приложение для анализа производительности программ для компьютеров на базе x86-процессоров, причём программа имеет как графический интерфейс пользователя, так и поддержку командной строки. Программа доступна для Linux и для Microsoft Windows.

Оптимизация кода

В VTune Performance Analyzer предусмотрена поддержка профилирования кода при помощи нескольких способов, включая профилирования на основе временных характеристик, событий и т. д. Профилировщик выдает итоговый результат, в который входят различные показатели, как например, время выполнения каждой подпрограммы, которые могут быть детализированы на уровне инструкций. Время, затраченное инструкциями, может указывать на всевозможные узкие места в конвейере при выполнении инструкций. Данный инструмент также может быть использован для анализа производительности многопоточных программ.

Требования

Для использования VTune требуются процессоры Pentium4, Pentium M, Itanium 2, Xeon (NetBurst) или более новые, кроме Atom. [1]

Configure Intel® VTune™ Profiler for Performance Analysis | An Introduction | Intel Software

Возможности VTune Performance Analyzer

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

Семплирование на основе временных характеристик и событий Семплирование — статистический метод с низкими накладными расходами, предназначенный для выявления узких мест в производительности. Семплирование на основе временных замеров находит критические участки кода программ, потребляющие значительную долю ресурсов процессора.

Семплирование на основе событий обнаруживает места, в которых происходят промахи кэширования, ошибки предсказания ветвления и другие проблемы производительности. Просмотр исходного кода Результаты семплирования отображаются построчно на исходный/оттранслированный код.

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

Он также показывает распределение работы по потокам и выявляет дисбаланс нагрузки. Performance Tuning Utility (PTU) (Утилита настройки производительности) PTU — отдельно загружаемое приложение, предоставляющее пользователям анализатора VTune доступ к экспериментальной технологии настройки.

Сюда входит, например, Анализ доступа к данным (Data Access Analysis), который способен обнаруживать критические участки памяти и соотносить их с критическими участками кода. Intel Parallel Amplifier Профилировщик производительности, являющийся компонентом Intel Parallel Studio. Если вы приобрели анализатор VTune, то вы также можете скачать и использовать Parallel Amplifier. Он добавляет статистическое дерево вызовов (анализ критических участков кода), при этом затрачивается меньше накладных расходов (меньше интрузивность), чем для построения VTune точного дерева вызовов, плюс анализ распараллеливаемости, блокировок и ожиданий.

Introduction to Intel VTune

Примечания

Ссылки

  • Product Review: Intel’s VTune 6 Performance Analyzer — статья на веб-сайте Gamasutra
  • Performance Analysis Tools: A Look at the Intel VTune Performance Analyzer — статья на веб-сайте Real World Technologies
  • IEEE Explore (необходима регистрация)
  • New Intel VTune Performance Analyzer Helps Optimize Web Services Applications
  • Pentium III Prefetch Optimizations: Using the VTune Performance Analyzer — статья на веб-сайте Gamasutra
  • Lock and Lock-Free Code Compared, Optimized With Intel Thread Profiler Visual Computing

Дополнительные источники

  • Intel® VTune™ Performance Analyzer (веб-страница, посвященная продукту)
  • Intel Performance Tuning Utility (PTU) Experimental tuning technology for VTune analyzer users (веб-страница, посвященная продукту)

См. также

  • Intel Parallel Studio, включающее в себя профилировщик производительности Intel Parallel Amplifier.
  • Intel Software Network
Это заготовка статьи о программном обеспечении. Вы можете помочь проекту, дополнив её.
Профилировщики
AQtime • CLR Profiler • CodeAnalyst • DevPartner • DotTrace • DTrace • GlowCode • gprof • hprof • Insure++ • Intel Parallel Studio • OProfile • Valgrind • VB Watch • Visual Studio Team System Profiler • VisualVM • VTune

Источник: www.wikiznanie.ru

1. Введение в VTune

VTune Visual Performance Analyzer (Intel VTune Performance Analyzer) Один дляАнализируйте и оптимизируйте производительность программыЭтот инструмент как инструмент анализа, предоставляемый Intel для разработчиков для поиска узких мест в производительности программного и аппаратного обеспечения, может определятьТочка доступа программы (точка доступа),оказатьсяПричины неудовлетворительной работы, Чтобы разработчики могли оптимизировать программу соответствующим образом.

Читайте также:
Программа дпм 2 что это

Анализатор производительности VTune может находить и обнаруживать проблемы с производительностью в программе следующими способами.

  • Собрать из текущей системыДанные о производительности;
  • ИзСистема на разных уровнях исходного кодаОрганизовывать и отображать данные в различных интерактивных формах;
  • Выявите потенциальные проблемы с производительностью и предложите меры по улучшению.

2. Использование VTune

I. Новый проект

这里写图片描述

  • Запустите анализатор производительности VTune, как показано на рисунке, нажмитеКнопка «Новый проект», Создайте новый проект анализа производительности

II. Выберите целевой файл для анализа.

这里写图片描述

  • Как показано на рисунке, выберите целевой файл для анализа и введите параметры выполнения анализируемого файла.

III. Новый тип анализа

这里写图片描述

  • Как показано на рисунке, выберите целевой проект и щелкните правой кнопкой мыши, чтобы создать новый тип анализа целевого файла.

3. Введение в типы производительности анализа

这里写图片描述

  • Как показано на рисунке, Intel VTune Performance Analyzer может анализировать типы производительности: «Algorithm Analysis“、”Microarchitecture Analysis“、”Knights Corner Platform Analysis»с»Custom Analysis«Четыре категории.

① Анализ алгоритмов

这里写图片描述

  • как показано на картинке, «Анализ алгоритмов»Это использоватьСамый широкийТип анализа. Это содержит»Основные точки доступа“、”Расширенные точки доступа“、«Параллелизм (параллелизм)»с»Блокировки и ожидания (блокировки и ожидания ресурсов)«Четыре типа анализа семян. Подробности описаны ниже»Основные точки доступа»использование.

а. (Базовые точки доступа) базовый анализ точек доступа

这里写图片描述

  • Выберите целевую программу для анализа,Выберите базовый анализ горячих точек производительности в анализе алгоритма. НастраиватьИнтервал выборки ЦПВремя, нажмите в правом верхнем углу“Start”Кнопка для начала анализа целевой программы.
  • После нажатия кнопки «Пуск» для анализа данных VTune начнет запускать целевую программу и собирать соответствующие данные о производительности.По завершении сбора данных необходимо вручную остановить сбор данных.

这里写图片描述

8 типов данных

Summary

这里写图片描述

Основные данные, проанализированные Summary: «Прошедшее время (общее прошедшее время)“、”Top Hotspots (высокая точка доступа)“、«Гистограмма использования ЦП (гистограмма использования ЦП)»с»Коллекция и информация о платформе (информация о коллекции и платформе)

  • Информация об истекшем времени,ЕстьОбщее количество потоков、Накладные расходы(Время, затраченное на синхронизацию и функции библиотеки потоков),Время отжима(Время ожидания вращения ЦП, ожидающего другой синхронной обработки ресурсов),Время процессора(Общее время, затраченное ЦП на выполнение программы) иВремя паузы。
    这里写图片描述
  • Информация о главных горячих точках, Перечислим наиболее активные (наиболее трудоемкие) части программы, анализируемые VTune, такие как спин-блокировки, функции и т. Д.
    这里写图片描述
  • Информация о гистограмме использования процессора, Отображает гистограмму использования ЦП.
    这里写图片描述
  • Информация о коллекции и платформе, Содержит командную строку приложения, операционную систему, процессор и другую информацию.
    这里写图片描述
Bottom-up

这里写图片描述

Снизу вверх можно просматриватьРасход времени на вызов функции / модуля / потока, Основные проанализированные данные:Информация о процессе, потоке, модуле, функции и стеке вызовов. Может отображать процесс программы, номер потока, адрес запуска функции, время загрузки ЦП, время вращения ЦП и другую информацию.

Caller/Callee

Caller/CalleeОсновные проанализированные данные:Общее время использования ЦП, время самостоятельного использования каждой функции, время собственных накладных расходов каждой функции, вызывающий и вызываемый объект каждой функцииЖдать

这里写图片描述

Top-down Tree

Нисходящее дерево основано наДревовидная структураПоказать стоимость каждого звонкаВремя и пропорции, Вы можете начать с того места, где время тратит больше всего времени, на следующий уровень, найти ключевую функцию для анализа ее эффективности.Содержание его анализа в основном такое же, как у Caller / Callee.。

这里写图片描述

Platform

Платформа в основном отображается в деталях в виде гистограммыВремя анализа программы、Время использования процессораа такжеВремя работы процесса и каждого потока。

这里写图片描述

4. Резюме

VTuneМогу помочь пользователямНайдите в программе «горячие точки», Так называемая «горячая точка» — это стоимость программы.Самое долгое время выполненияФрагмент кода. Анализатор производительности VTune может собирать данные о производительности приложений и систем, а затемОтображается в виде графиков и таблиц. На основе отображаемых данных пользователь может проанализировать производительность прикладной программы, чтобы узнать, какая часть программы выполняется медленно и почему.

Интеллектуальная рекомендация

PHP полагается на Composer_ для PHP-зависимого композитора

С зрелостью PHP, сложность приложения используется для построения его резко возросла. Современные разработчики PHP часто полагаются на сторонние библиотеки, чтобы помочь им строить программные проекты.

JavaScript Advanced (1) объект местоположения

Есть много способов использования в JS для нас, чтобы мы использовали, просто позвоните, вы можете реализовать, объект местоположения является одним из них, и может вернуть информацию URL доступ к тек.

ESP32 Примечания к исследованию (19) -SPI (хост) Использование интерфейса

Введение в SPI SPI(Serial Peripheral Interface) Соглашение представляет собой протокол связи, предложенный Motorola, то есть интерфейс последовательного периферийного устройства, который представляет .

Самый сильный случай, [промежуточный режим] в компоненте графического интерфейса

Оглавление тема Окончательная диаграмма эффекта Понять основную идею промежуточного режима Анализ мышления Код Структура каталогов проектов Посредник (посредник) Компонент (компонент) Класс реализации.

Android несколько строк MarquetextView в Android для достижения эффекта многократного текста.

Это реализацияОдна линияКод скачковых ламп Скопируйте код несколько раз в своем макете,Невозможно достичь многочисленного текстаЭффект общего проката, эффект, отображаемый после простого копирования:П.

Источник: russianblogs.com

Intel: инструменты для оптимизации приложений

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

Читайте также:
Сервис слежения за установкой программ uninstall tool что это

При разработке приложений под процессоры Intel вам могут понадобиться следующие инструменты:

Intel VTune 7.0 или Intel VTune Enterprise;
Intel Thread Checker;
Intel C++ Compiler или Intel Fortran.

О них нам любезно согласился рассказать Алексей Одиноков, директор Центра Intel по разработке ПО в Нижнем Новгороде.

TanaT: Чем отличаются пакеты VTune 7.0 и VTune Enterprise 2.0 между собой?

Алексей Одиноков: Пакет VTune версии 7.0, совместимый со средой разработки Microsoft Visual Studio .NET, дает разработчикам возможность оптимизировать приложения и драйверы устройств под ОС Windows Server 2003 и платформ под управлением ОС Windows на базе процессоров Intel.
Пакет VTune Enterprise версии 2.0 для Web-приложений, .NET Edition позволяет находить «узкие места» в многоуровневых приложениях, работающих на комплексах систем с процессорами Intel, и предоставляет возможности анализа работы Web-инфраструктуры на уровне транзакций и диагностики на уровне объектов .NET.

TanaT: Можете рассказать о VTune 7.0?

Алексей Одиноков: Анализатор производительности VTune Performance Analyzer собирает, анализирует и отображает данные о производительности программного обеспечения в самом широком диапазоне — от уровня всей системы до уровня отдельной функции, модуля или команды в исходном коде. Этот пакет помогает разработчикам упростить выявление потенциальных «узких мест» и существенно повысить производительность и конкурентоспособность их приложений.
VTune Performance Analyzer позволяет разработчикам, пользующимся Microsoft Visual Studio .NET, более тщательно исследовать исходный код приложений, дабы заранее устранить «узкие места», а затем оптимизировать код так, чтобы скомпилированное приложение работало на платформах Intel с максимально возможной производительностью. Пакет располагает пользовательским интерфейсом и усовершенствованной функциональной схемой, в него включена поддержка многопоточного режима, благодаря которой разработчики могут производить отладку приложений для обеспечения полной совместимости с передовой технологией многопоточной обработки команд Hyper-Threading. Интегрированный компонент Intel Tuning Assistant предоставляет разработчику подробную информацию о системе и исходном коде, основанную на показателях работы операционной системы и процессора.

TanaT: Требуются ли какие-нибудь специальные знания для того, чтобы пользоваться VTune 7.0?

Алексей Одиноков: Если у разработчика нет опыта работы с VTune, имеет смысл начать с тренинга, который доступен на сайте https://shale.intel.com/softwarecollege/CourseCatalog.asp?CatName=Performance%20Analyzers .

TanaT: Какие средства есть для разработки приложений, использующих технологию HyperThreading?

Алексей Одиноков: Вряд ли имеет смысл говорить о «специальных» средствах для разработки кода именно под технологию НТ. С точки зрения программного обеспечения логика работы с этой технологией практически не отличается от классического случая SMP (Symmetric Multi-Processor) системы. Пожалуй, имеет смысл говорить о некоторых различиях лишь на уровне операционной системы, т.к. не все из них в равной степени эффективно работают на обычных многопроцессорных машинах и системах с НТ. Например, Windows XP гораздо эффективней использует возможности НТ, чем предыдущие ОС, построенные на ядре NT (Windows NT 4, Windows 2000), тогда как разница для классического случая SMP гораздо менее существенна.
В остальном же, в грубом приближении с точки зрения средств разработки ПО, технология Hyper-Threading может рассматриваться как частный случай SMP. Поэтому все многочисленные инструментальные средства для разработки, отладки и профилирования многопотоковых приложений от различных производителей могут применяться и для НТ. Включая, разумеется, такие программные продукты Intel как компиляторы С/C++ и Fortran с поддержкой стандарта OpenMP, Intel VTune Performance Analyzer, Intel Threading Tools и Intel Performance Libraries.

TanaT: Расскажите, пожалуйста, о Thread-Checker?

Алексей Одиноков: Инструмент призван помочь программистам в выявлении труднораспознаваемых причин сбоев в работе приложений для систем на базе процессоров Intel Pentium 4 и Intel Xeon с технологией Hyper-Threading. В программном средстве Intel Thread Checker применен усовершенствованный механизм обнаружения ошибок, отслеживающий процесс исполнения программ и способный распознать причины сбоев в обработке потокового кода всего за несколько часов вместо дней или даже недель, которые уходят на подобный поиск с применением традиционных инструментальных способов и средств, когда программист вынужден наугад ставить в исходном коде «ловушки». Устраняя необходимость поиска ошибок вслепую, программное средство Intel Thread Checker распознаёт именно те строки кода, которые служат причиной сбоев в его потоковой обработке, при этом возникшие проблемы классифицируются по категориям — от ошибок до предупреждений, а переменные, строки кода и список последовательности вызовов выводятся на экран для простоты их анализа.

TanaT: Вы не могли бы рассказать о технологии HyperThreading? За счет чего удается добиться такого прироста производительности?

Алексей Одиноков: Благодаря технологии HT один физический процессор воспринимается операционной системой и приложениями как два логических процессора. Приложение, разделенное на , способно значительно выиграть в плане производительности благодаря применению технологии HT. К таким приложениям, например, относятся Microsoft Windows XP, Adobe Photoshop, Windows Media Encoder 9-ой версии и NewTek Lightwave.

Технология HT также позволяет повысить производительность системы в многозадачных средах при работе с приложениями, не разделенными на потоки. Применение в процессорах для настольных ПК технологии Hyper-Threading позволяет значительно повысить их производительность и не требует серьезной модернизации системы. Отметим, что такие традиционные методы, применяемые в микроархитектуре для повышения производительности, как увеличение объема кэш-памяти или числа исполнительных блоков для выполнения операций с плавающей запятой, увеличивают размер микросхемы на 20-30% и могут обеспечить повышение производительности в среднем на 10%. В случае с технологией HT эти цифры находятся в обратном соотношении. Параллельное исполнение команд в технологии HT обеспечивает повышение производительности до 25% при увеличении размера микросхемы менее чем на 5%.

Технология Hyper-Threading помогает заполнить периоды простоя процессора:

Доступ к памяти (например, обработка/редактирование цифровых фотографий);

Цепи взаимозависимых инструкций с большими задержками (например, видеокодирование/перекодирование);

Ошибки предсказания ветвлений (например, отслеживание лучей в 3D-графике);

Одновременное ведение вычислений с целыми числами и с плавающей запятой.

Картинка иллюстрирует, почему размер микросхемы при использовании НТ увеличивается незначительно. Дело в том, что дублировать нужно лишь Архитектруное Состояние (AS), а не все блоки процессора

#include
using namespace std;
int main()
cout return 0;
>

Теперь вы можете легко откомпилировать приложение, например, в режиме командной строки. Для этого запустите Start->Programs->Intel Software Development Tools->Intel C++ Compiler 7.1->Build Environment for 32-bit applications. Далее откомпилируйте hello.cpp: «icl hello.cpp». Все, hello.exe готов.
Если вы пользуетесь Visual Studio, например, 2002 или 2003, то следует создать консольное Win32-приложение и файл такого же содержания. Далее в меню Tools->Options выбрать Intel C++. Здесь надо выбрать версию компилятора, которую вы используете. Если вы используете Visual Studio 2003, то в Default Compiler Options (в этом же окошке) путь «Qvc7» надо поменять на «Qvc7.1». Далее откройте диалог «hello Property Pages», выберите «Intel Specific».

Читайте также:
Для чего программа топер

Из выпадающего списка «Compiler name» выберите «Intel C++ Compiler (icl)». Щелкните ОК. Всё, теперь можно построить решение. Как видите, все довольно просто.

TanaT: Сильно ли повышается производительность приложений при использовании Intel C/C++ Compiler?

Алексей Одиноков: Использование компиляторов Intel C++ и Intel Fortran для ОС Windows и Linux позволяет достичь выигрыша в производительности приложений для систем на базе процессоров Intel Itanium 2, Intel Xeon и Intel Pentium 4 до 40% по сравнению с применением существующих компиляторов других производителей (см. рисунок ниже). Конечно, реальные значения производительности могут изменяться в зависимости от конфигурации системы. Более подробную информацию о производительности продукции Intel можно получить по адресу http://www.intel.com/performance/resources/limits.htm .
Пример из практики работы с кодами системы в Росгидромете. Конечная версия, скомпилированная интеловским компилятором, (правда, в отличие от предыдущего примера, фортранным) региональной схемы работает в 12 раз быстрее, чем начальная, скомпилированная тем же компилятором, но сразу после портирования с Cray на Itanium 2. Рост был достигнут при помощи «подсказок» компилятору (например, в виде директив компилятора, добавленных в код) о том, что оптимизационные возможности, которые он не включил, исходя из собственного анализа семантики программы, на самом деле можно безопасно использовать.

Интеловский компилятор отличается от остальных, работающих на интеловских архитектурах, широким набором средств для «агрессивной» оптимизации под целевую архитектуру. А найти места, где эти средства не включились «по умолчанию», можно как с помощью диагностики, предоставляемой самим компилятором, так и с помощью VТune. С помощью последнего можно НАЙТИ такие места. А используя диагностику компилятора, можно понять, ПОЧЕМУ не сработала та или иная оптимизация и ЧТО нужноможно сделать, чтобы она сработала. Так что 40 процентов — это отнюдь не предел.
Также могу привести любопытную цитату доктора Фонса Радемакерса (Fons Rademakers), ведущего научного сотрудника CERN, характеризующую повышение производительности: «Наши приложения активно используются в крупных ресурсоемких системах анализа данных, поэтому для нас очень важно достичь максимально возможного уровня производительности. Мы перенесли 800 тысяч строк исходного кода C++ и 90 тысяч строк кода C на компиляторы Intel всего за один день; раньше такая работа заняла бы неделю».

Картинка иллюстрирует повышение производительности при замене компилятора GNU на Intel -«автоматически» получаемый выигрыш в 41 — 44 процента

Комментарий Алексея Одинокова: «Стоит взглянуть и на эту картинку. Ускорение от использования интеловского компилятора по сравнению с MS (а именно он там скрывается под маской «Стандартный Компилятор») составляет 7 раз. И это без использования поддержки OpenMP, которая есть в интеловском компиляторе, но отсутствует в MS. А с таковой преимущество и вовсе становится 13х.

Интеловский компилятор представляет программисту возможности для оптимизации под интеловские архитектуры гораздо более широкие, чем другие компиляторы. И эти возможности выходят за рамки простой перекомпиляции при переходе с некоторого компилятора на интеловский. Чтобы получить больший прирост производительности, иногда нужны изменения кода — для наиболее эффективного использования возможностей, которых нет у других компиляторов (подобные действия не предусматриваются сценарием). При этом интеловский компилятор предоставляет диагностику (в виде отчетов различных фаз оптимизации), позволяющую легче найти места в программе, которые требуют модификации для того, чтобы компилятор преодолел проблему».

Источник: fcenter.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru