Опубликован: 28.10.2009 | Уровень: специалист | Доступ: платный
Лекция 7:

Оптимизация параллельной программы

10.8.2. Подготовка приложения для профилирования

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

  1. В меню Build выберите пункт Configuration Manager…, в открытом окне выберите режим Release.
    Выбор режима Release

    Рис. 10.7. Выбор режима Release
  2. В меню Project выберите пункт Properties, в результате чего появится окно, представленное на рис. 10.7. В дереве слева выберите узел Configuration Properties \to C/C++ \to General. В открывшейся таблице справа для элемента с именем Debug Information Format, установите значение Program Database (/Zi). Нажмите кнопку Apply.
    Указание формата отладочной информации

    увеличить изображение
    Рис. 10.8. Указание формата отладочной информации
  3. В этом же окне настроек проекта необходимо убедиться в том, что для приложения генерируется отладочная информация. В дереве слева выберите узел Configuration Properties \to Linker \to Debugging. В открывшейся таблице справа для элемента с именем Generate Debug Info, необходимо установить значение Yes (/DEBUG). После этого нажмите кнопку Apply.
    Указание генерации отладочной информации

    увеличить изображение
    Рис. 10.9. Указание генерации отладочной информации
  4. Убедитесь, что используются потокобезопасные библиотеки. Для этого выберите узел Configuration Properties \to C/C++ \to Code Generation. В открывшейся таблице справа для элемента с именем Runtime library установите значение Multi-threaded DLL (/MD). Нажмите кнопку Apply.
    Выбор потокобезопасных библиотек

    увеличить изображение
    Рис. 10.10. Выбор потокобезопасных библиотек
  5. Убедитесь, что приложение компонуется с использование опции /fixed:no. В окне настроек проекта выберите узел Configuration Properties \to Linker \to Advanced. В открывшейся таблице справа для элемента с именем Fixed Base Address установите значение Generate a relocation section (/FIXED:NO). Нажмите кнопку Apply.
    Установка опций компоновщика

    увеличить изображение
    Рис. 10.11. Установка опций компоновщика

После выполнения данных процедур ваше приложение готово к профилированию.

10.8.3. Профилирование приложения

10.8.3.1. Создание проекта Intel Thread Profiler
  1. Запустите Intel® Thread Profiler. Найти его можно, например, по следующему пути: Start \to All programs \to Intel(R) Software Development Tools \to Intel(R) Thread Profiler 3.0 \to Intel(R) Thread Profiler.
  2. В открывшемся окне нажмите на кнопку New Project.
  3. В новом окне выберите Intel(R) Thread Profiler Wizard и нажмите кнопку OK.
    Выбор типа проекта

    Рис. 10.12. Выбор типа проекта
  4. Ниже надписи Launch an application имеется строка, в которой необходимо указать имя профилируемого приложения. Нажмите кнопку […] и в открывшемся диалоговом окне укажите путь до приложения, подлежащего профилированию. В нашем случае это С:\ITPLab\Factorization\release\Factorization.exe.
    Выбор профилируемого приложения

    Рис. 10.13. Выбор профилируемого приложения
  5. Нажмите кнопку Finish.

После этого ITP произведет инструментацию вашего приложения и немедленно начнет профилирование. Когда сбор трассы завершится, информация о ней появится на экране. Окно ITP содержит следующие элементы: панель инструментов, браузер результатов запусков ( Tuning Browser ), окно сообщений Output и окна Profile и Timeline (рис. 10.14). Последние два окна являются основными источниками информации о критическом пути приложения.

Рабочая область Intel Thread Profiler

увеличить изображение
Рис. 10.14. Рабочая область Intel Thread Profiler
10.8.3.2. Профилирование

Профилирование приложения можно начать несколькими способами:

  • Выбрать пункт меню Activity \to Run,
  • Нажать F5,
  • Нажать на панели инструментов кнопку с зеленой стрелкой.

Результаты каждого запуска сохраняются, и вы можете работать с несколькими профилями одновременно. Доступ к профилям осуществляется через пункт меню View \to Tuning Browser.

Алексей Николаев
Алексей Николаев
Россия, г. Саранск
Рамиль Ариков
Рамиль Ариков
Россия, Республика Мордовия