VTune™ Amplifier XE supports OpenMP* standard – displays hot functions in OpenMP libraries, CPU usage, Thread Concurrency, the user can drill-down to source view to browse hot lines which call OpenMP libraries.
However some users want to know “OpenMP code region” in timeline report, because:
1. Application ran long time, the user only has interest of seeing performance data in specific time region where OpenMP code was executed.
2. The user can use zoom-in/filter-on-selection to observe detail performance data in filtered report.
VTune Amplifier XE can detect OpenMP runtime libraries, because Intel Composer XE inserts Frame API and fork-join notification when building program. Thus, VTune Amplifier XE can record data from parallel region start and end points when program's executing.
What you should have:
1. Intel Composer XE 2013 Update 2 or higher
2. Intel VTune Amplifier XE 2013 Update 4
How to do:
1. Compile your code as usual (should have “/Zi” or “/Z7” option with “/DEBUG” linker option to generate symbol file)
2. If you work on “Debug” build, please set environment variable KMP_FORKJOIN_FRAMES=1 to VTune Amplifier’s project properties and set “Inherit settings from Visual Studio* project” OFF. Otherwise do step 3.
3. If you work on “Release” build, please set environment variable KMP_FORKJOIN_FRAMES=1 to Visual Studio* project properties, and set “Inherit settings from Visual Studio* project” ON.
4. Then run VTune Amplifier’s analysis, you will see OpenMP Frame in bottom-up report. Also you can zoom-in/filter-on-selection for OpenMP frame to generate a filtered report.