Intel Thread Profiler
Материал из Computer Engineering Faculty.
Intel Thread Profiler — инструмент анализа приложений, позволяющий определить проблемы, связанные с параллельной работой потоков:
- избыточные синхронизации
- взаимные блокировки
- накладные расходны на создание и удаление потоков
Содержание |
Подготовка проекта для анализа
Для успешного анализа параллельного приложения необходимо выполнить настройку проекта.
Windows Threads или Pthreads приложения
- Собрать проект с thread-safe библиотеками: ключи компилятора /MD, /MDd, /MT или /MTd (свойства проекта: С/С++ / Code Generation / Runtime Library).
- Включить генерацию символьной информации: ключи компилятора /Zi, /ZI или /Z7 (свойства проекта: С/С++ / General / Debug Information Format); ключ компоновщика /DEBUG (свойства проекта: Linker / Debugging / Generate Debug Info).
- Отключить оптимизацию: ключ компилятора /Od (свойства проекта: C/C++ / Optimization / Optimization).
- Включить опцию компоновщика Generate a relocation section (/FIXED:NO) (свойства проекта: Linker / Advanced / Fixed Base Address).
- Добавить ключ компиляции /Qtprofile, который инструментирует исходный код проекта (свойства проекта: C/C++ / Command Line / Additional Options).
OpenMP приложения
- Собрать проект с thread-safe библиотеками: ключи компилятора /MD, /MDd, /MT или /MTd (свойства проекта: С/С++ / Code Generation / Runtime Library).
- Символьная информация не нужна для анализа OpenMP приложений.
- Включить полную оптимизацию проекта в конфигурации Release.
- Включить опцию компилятора /Qopenmp_profile, который инструментирует исходный код проекта (свойства проекта: C/C++ / Command Line / Additional Options).
