13 #include <boost/foreach.hpp>
26 #pragma GCC diagnostic ignored "-Wunused-function"
28 #include "ittnotify.h"
52 const __itt_event event_ = 0,
const __itt_event parent_event_ = 0):
125 ,m_nEvents(0), m_isStarted(false) {
128 "Names of included algorithms."
131 "Names of excluded algorithms."
134 "After what event we stop profiling. "
135 "If 0 than we also profile finalization stage."
138 "After what event we stop profiling. "
139 "If 0 than we also profile finalization stage. Default = 0."
142 "Algorithm name, for which intel amplifier task type will be created."
143 "By default all algorithms have a corresponding task type.");
145 "The String delimiter between sequences/algorithms names in "
146 "\"Task Type\" grouping at Amplifier. Default=\" \"."
149 "Enable frames (needed for detecting slow events). Default=false."
152 "Frames rate. The recommended maximum rate for calling the Frame API is "
153 "1000 frames (events) per second. A higher rate may result in large product"
154 " memory consumption and slow finalization. "
155 "You need update \"slow-frames-threshold\" and \"fast-frames-threshold\" "
156 "parameters of amplxe-cl tool to separate slow, medium and fast events. "
157 "For use frames you need to switch on \"EnableFrames\". "
170 __itt_event taskId = 0;
173 taskId = iter->second;
178 taskId = __itt_event_create(typeName.c_str(), typeName.size());
185 if (parent != NULL) {
207 __itt_event_start(state.
event);
272 result += delim+value.
name;
294 std::string str_excluded, str_included, str_eventtypes;
297 str_excluded +=
" " +
name;
301 str_included +=
" " +
name;
306 str_eventtypes +=
" " +
name;
311 <<
"): " << str_included <<
endmsg;
316 <<
"): " << str_excluded <<
endmsg;
321 <<
"): " << str_eventtypes <<
endmsg;
325 domain = __itt_domain_create(
"Event loop");
393 __itt_frame_begin_v3(
domain, NULL);
404 __itt_frame_end_v3(
domain, NULL);
414 if (state.
event != 0) {
417 __itt_event_end(state.
event);
429 }
else if (state.
status) {