pytorch/test/cpp
Kimish Patel bc9277dca3 [Pytorch lite predictor] Use KinetoEdgeCPUProfiler for operator profiling. (#63367)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/63367

This diff changes the way operator profiling is done in lite predictor
benchmarking binary.
Instead of using custom callbacks it uses KinetoEdgeCPUProfiler to profile
events and then generate operator level metric from it.
Since KinetoEvents do not contain cpu clock time, now we report only wallclock
time.
This unifies various profiling effort that we have for benchmarking purpose. In
production we will still use observer based mechanism, but the advantage of
using kineto profiler is that we get few other things for free, such as:
- chrome trace generation.
- operator level memory profiling (to be added)
- flop counts (to be added)

Furthermore possible we can use python post processing script to parse chrome
trace and generate output similar to torch.profiler. (To be done)

Test Plan:
aibench run
Model without debug info:
https://www.internalfb.com/intern/aibench/details/219598441154763
Model with debug info and `--print_module_info true` (see Operator summary has now module hierarchy information).
https://www.internalfb.com/intern/aibench/details/617154236292985

Reviewed By: raziel

Differential Revision: D30327514

fbshipit-source-id: 3bb2f2daaaedfb04bd6f5d9c91292783f9c4344f
2021-08-30 20:54:51 -07:00
..
api Make name() part of IMethod interface (#63995) 2021-08-30 13:31:55 -07:00
c10d [Pytorch Profiler] Add support for adding module hierarchy to (#61792) 2021-08-13 21:39:10 -07:00
common
dist_autograd Fix distributed autograd gradients synchronization (#57792) 2021-05-09 17:32:59 -07:00
jit [Pytorch lite predictor] Use KinetoEdgeCPUProfiler for operator profiling. (#63367) 2021-08-30 20:54:51 -07:00
lite_interpreter_runtime [Pytorch Edge] Enable kineto profiler on mobile via EdgeKinetoProfiler (#62419) 2021-08-13 21:40:19 -07:00
rpc Remove process_group_agent and faulty_process_group_agent files (#62985) 2021-08-10 15:57:39 -07:00
tensorexpr [nnc] Make 64-bit dimensions work (#64077) 2021-08-28 19:59:47 -07:00
__init__.py remediation of S205607 2020-07-17 17:19:47 -07:00