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.
For performance analysis, follow the steps below:
- Run the CMake tool with the following option:
-DENABLE_PROFILING_ITT=ON
and build OpenVINO. - Choose the tool for statistics collection using ITT counters.
- Intel SEAPI should be built from sources. See the Readme file for details.
- Intel Vtune Profiler
- Run OpenVINO project with performance analysis tool.
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
- -o trace – output file name
- -f gt - statistics type to be generated (Google traces)
trace.pid-21725-0.json
Generated file can be opened with google chrome using "chrome://tracing" URL.
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
- -collect hotspots
r000hs
Generated file can be opened with Vtune client.
Use API defined in openvino/itt module.