Profiling with Intel Compilers

Compiler Option: -openmp-profile

Deprecated, but useful. This tool is also known as Guideview.

Compiler Option: -profile-functions, -profile-loops=keyword, and  -profile-loops-report=level

Keyword:

  • inner: Inserts instrumentation before and after inner loops.
  • outer: Inserts instrumentation before and after outer loops.
  • all: Inserts instrumentation before and after all loops.

Level:

  • 1: Reports the cycle counts on entry and exits of loops. (Default)
  • 2: Reports the level 1 default details, but also includes the loop min/max and average loop iteration counts.

Compile and link with these options and view the profile in the file "loop_prof_*.xml" with:

  • loopprofileviewer.sh

Compiler Option: -finstrument-functions

Determines whether routine entry and exit points are instrumented. It may increase execution time. The  following profiling functions are called with the address of the current routine and the address of where the routine was called (its "call site"):

  • void __cyg_profile_func_enter (void *this_fn, void *call_site);
  • void __cyg_profile_func_exit (void *this_fn, void *call_site);

For some usage examples see: