pytorch/test/cpp/c10d
Kimish Patel 54f2eb6e7e [Pytorch Profiler] Add support for adding module hierarchy to (#61792)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/61792

KinetoEvent

This PR adds module hierarchy information to events.
What is module hierarchy information attached to events?
During profiling a TorchScript module, when events are added, we ask JIT
what is the module hierarchy associated with the node being
executed. At the time of execution of that node, there might be multiple
frames in the stack of interpreter. For each frame, we find
corresponding node and the corresponding module hierarchy is queried.
Module hierarchy corresponding to the node is associated with node's
InlinedCallStack. InlinedCallStack of node tracks the path via which the
node is inlined. Thus during the inlining process we annotate
module information corresponding to the CallMethod nodes being inlined.

With this PR, chrome trace will contain additional metadata:
"Module Hierarchy". This can look like this:
TOP(ResNet)::forward.SELF(ResNet)::_forward_impl.layer1(Sequential)::forward.0(BasicBlock)::forward.conv1(Conv2d)::forward.SELF(Conv2d)::_conv_forward
It contains module instance, type name and the method name in the
callstack.

Test Plan:
test_profiler

Imported from OSS

Reviewed By: raziel, ilia-cher

Differential Revision: D29745442

fbshipit-source-id: dc8dfaf7c5b8ab256ff0b2ef1e5ec265ca366528
2021-08-13 21:39:10 -07:00
..
example
CMakeLists.txt update test distributed (#62796) 2021-08-10 16:29:47 -07:00
CUDATest.cu
CUDATest.hpp
FileStoreTest.cpp
HashStoreTest.cpp
ProcessGroupGlooAsyncTest.cpp
ProcessGroupGlooTest.cpp
ProcessGroupMPITest.cpp
ProcessGroupNCCLErrorsTest.cpp
ProcessGroupNCCLTest.cpp [Pytorch Profiler] Add support for adding module hierarchy to (#61792) 2021-08-13 21:39:10 -07:00
StoreTestCommon.hpp
TCPStoreTest.cpp
TestUtils.hpp