Skip to content

PerformanceAnalysisUsingITTcounters

Vladislav Volkov edited this page Jul 30, 2021 · 6 revisions

Performance analysis using ITT counters

Contents

Introduction

OpenVINO has a powerful capabilities for performance analysis of the key stages, such as read time and load time. Most of the modules and features have been tagged with Intel ITT counters, which allows us to measure the performance of these components.

Performance analysis

For performance analysis, follow the steps below:

  1. Run the CMake tool with the following option: -DENABLE_PROFILING_ITT=ON and build OpenVINO.
  2. Choose the tool for statistics collection using ITT counters.
    1. Intel SEAPI should be built from sources. See the Readme file for details.
    2. Intel Vtune Profiler
  3. Run OpenVINO project with performance analysis tool.

Intel SEAPI

Example of tool run:

python ~/tools/IntelSEAPI/runtool/sea_runtool.py -o trace -f gt ! ./benchmark_app -niter 1 -nireq 1 -nstreams 1 -api sync -m ./resnet-50-pytorch/resnest-50-pytorch.xml

Mandatory parameters:

  • -o trace – output file name
  • -f gt - statistics type to be generated (Google traces)

Generated artifacts:

trace.pid-21725-0.json Generated file can be opened with google chrome using "chrome://tracing" URL.

Intel Vtune Profiler

Example of tool run:

vtune -collect hotspots -k sampling-mode=hw -k enable-stack-collection=true -k stack-size=0 -k sampling-interval=0.5 -- ./benchmark_app -nthreads=1 -api sync -niter 1 -nireq 1 -m ./resnet-50-pytorch/resnet-50-pytorch.xml

Mandatory parameters:

  • -collect hotspots

Generated artifacts:

r000hs Generated file can be opened with Vtune client.

Adding new ITT counters

Use API defined in openvino/itt module.

Clone this wiki locally