Intel Thread Profiler

Материал из Computer Engineering Faculty.

Перейти к: навигация, поиск

Intel Thread Profiler — инструмент анализа приложений, позволяющий определить проблемы, связанные с параллельной работой потоков:

  • избыточные синхронизации
  • взаимные блокировки
  • накладные расходны на создание и удаление потоков

Содержание

Подготовка проекта для анализа

Для успешного анализа параллельного приложения необходимо выполнить настройку проекта.

Windows Threads или Pthreads приложения

  1. Собрать проект с thread-safe библиотеками: ключи компилятора /MD, /MDd, /MT или /MTd (свойства проекта: С/С++ / Code Generation / Runtime Library).
  2. Включить генерацию символьной информации: ключи компилятора /Zi, /ZI или /Z7 (свойства проекта: С/С++ / General / Debug Information Format); ключ компоновщика /DEBUG (свойства проекта: Linker / Debugging / Generate Debug Info).
  3. Отключить оптимизацию: ключ компилятора /Od (свойства проекта: C/C++ / Optimization / Optimization).
  4. Включить опцию компоновщика Generate a relocation section (/FIXED:NO) (свойства проекта: Linker / Advanced / Fixed Base Address).
  5. Добавить ключ компиляции /Qtprofile, который инструментирует исходный код проекта (свойства проекта: C/C++ / Command Line / Additional Options).

OpenMP приложения

  1. Собрать проект с thread-safe библиотеками: ключи компилятора /MD, /MDd, /MT или /MTd (свойства проекта: С/С++ / Code Generation / Runtime Library).
  2. Символьная информация не нужна для анализа OpenMP приложений.
  3. Включить полную оптимизацию проекта в конфигурации Release.
  4. Включить опцию компилятора /Qopenmp_profile, который инструментирует исходный код проекта (свойства проекта: C/C++ / Command Line / Additional Options).

См. также

Computer Engineering Faculty
Личные инструменты