xref: /aosp_15_r20/external/pytorch/torch/csrc/profiler/stubs/itt.cpp (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1 #include <c10/util/irange.h>
2 #include <torch/csrc/itt_wrapper.h>
3 #include <torch/csrc/profiler/stubs/base.h>
4 
5 C10_DIAGNOSTIC_PUSH_AND_IGNORED_IF_DEFINED("-Wunused-parameter")
6 
7 namespace torch::profiler::impl {
8 namespace {
9 
10 struct ITTMethods : public ProfilerStubs {
recordtorch::profiler::impl::__anon88a4d77c0111::ITTMethods11   void record(
12       c10::DeviceIndex* device,
13       ProfilerVoidEventStub* event,
14       int64_t* cpu_ns) const override {}
15 
elapsedtorch::profiler::impl::__anon88a4d77c0111::ITTMethods16   float elapsed(
17       const ProfilerVoidEventStub* event,
18       const ProfilerVoidEventStub* event2) const override {
19     return 0;
20   }
21 
marktorch::profiler::impl::__anon88a4d77c0111::ITTMethods22   void mark(const char* name) const override {
23     torch::profiler::itt_mark(name);
24   }
25 
rangePushtorch::profiler::impl::__anon88a4d77c0111::ITTMethods26   void rangePush(const char* name) const override {
27     torch::profiler::itt_range_push(name);
28   }
29 
rangePoptorch::profiler::impl::__anon88a4d77c0111::ITTMethods30   void rangePop() const override {
31     torch::profiler::itt_range_pop();
32   }
33 
onEachDevicetorch::profiler::impl::__anon88a4d77c0111::ITTMethods34   void onEachDevice(std::function<void(int)> op) const override {}
35 
synchronizetorch::profiler::impl::__anon88a4d77c0111::ITTMethods36   void synchronize() const override {}
37 
enabledtorch::profiler::impl::__anon88a4d77c0111::ITTMethods38   bool enabled() const override {
39     return true;
40   }
41 };
42 
43 struct RegisterITTMethods {
RegisterITTMethodstorch::profiler::impl::__anon88a4d77c0111::RegisterITTMethods44   RegisterITTMethods() {
45     static ITTMethods methods;
46     registerITTMethods(&methods);
47   }
48 };
49 RegisterITTMethods reg;
50 
51 } // namespace
52 } // namespace torch::profiler::impl
53 C10_DIAGNOSTIC_POP()
54