depyf: Open the Opaque Box of PyTorch Compiler for Machine Learning
  Researchers
Kaichao You Runsheng Bai Meng Cao Jianmin Wang Ion Stoica Mingsheng Long
PyTorch \texttt{2.x} introduces a compiler designed to accelerate deep
learning programs. However, for machine learning researchers, adapting to the
PyTorch compiler to full potential can be challenging. The compiler operates at
the Python bytecode level, making it appear as an opaque box. To address this,
we introduce \texttt{depyf}, a tool designed to demystify the inner workings of
the PyTorch compiler. \texttt{depyf} decompiles bytecode generated by PyTorch
back into equivalent source code, and establishes connections between in-memory
code objects and their on-disk source code counterparts. This feature enables
users to step through the source code line by line using debuggers, thus
enhancing their understanding of the underlying processes. Notably,
\texttt{depyf} is non-intrusive and user-friendly, primarily relying on two
convenient context managers for its core functionality. The project is
\href{https://github.com/thuml/depyf}{ openly available} and is recognized as a
\href{https://pytorch.org/ecosystem/}{PyTorch ecosystem project}.