xref: /aosp_15_r20/external/pytorch/torch/csrc/itt_wrapper.cpp (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1 #include <ittnotify.h>
2 #include <torch/csrc/itt_wrapper.h>
3 #include <torch/csrc/profiler/stubs/base.h>
4 
5 namespace torch::profiler {
6 __itt_domain* _itt_domain = __itt_domain_create("PyTorch");
7 
itt_is_available()8 bool itt_is_available() {
9   return torch::profiler::impl::ittStubs()->enabled();
10 }
11 
itt_range_push(const char * msg)12 void itt_range_push(const char* msg) {
13   __itt_string_handle* hsMsg = __itt_string_handle_create(msg);
14   __itt_task_begin(_itt_domain, __itt_null, __itt_null, hsMsg);
15 }
16 
itt_range_pop()17 void itt_range_pop() {
18   __itt_task_end(_itt_domain);
19 }
20 
itt_mark(const char * msg)21 void itt_mark(const char* msg) {
22   __itt_string_handle* hsMsg = __itt_string_handle_create(msg);
23   __itt_task_begin(_itt_domain, __itt_null, __itt_null, hsMsg);
24   __itt_task_end(_itt_domain);
25 }
26 } // namespace torch::profiler
27