Skip to content
This repository has been archived by the owner on Jan 10, 2023. It is now read-only.

Getting started

Alex edited this page Jan 16, 2016 · 8 revisions

So, let's begin!

  1. Make sure you have python, cmake and compiler environment on your computer.

  2. Clone/Download Intel® Single Event API (Intel® SEAPI) source code

  3. Get to the Intel® SEAPI root folder and build everything up with: python ./buildall.py

  4. Add mark up to your code:

    a) For pure C project use itt_notify: https://software.intel.com/en-us/node/544201

    b) For C++ application itt_notify.hpp is at your service (described below)

  5. Link your project with ittnotify library from bin folder

  6. See README.txt for details on profiling under different tools

C++ Mark up:

ITT_FUNCTION_TASK() - put this macro at the very beginning of your function and the time of this function will be measured

ITT_ARG(name, value) - this macro can be used to add arguments of the function - numeric and string arguments are supported

ITT_SCOPE_TASK(name) - if you need to measure a scope of execution, you can measure it giving name, ITT_ARG will work as well

ITT_SCOPE_REGION(name) - region (or frame) can be used for 'meta' tasks, in some viewers they will have different from tasks representation

ITT_MARKER(name, scope) - an event without duration, usually drawn as vertical line, scopes are: scope_global (over whole timeline), scope_process (over current process), scope_thread (only in current thread lane) Exception is 'scope_task' - shown as task that lasts until next similar call from this thread

ITT_COUNTER(name, value) - Allows to draw overtime graphs

All examples can be found here: https://github.com/01org/IntelSEAPI/blob/master/main.cpp

Clone this wiki locally