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