This folder contains (most of) the C++ code for the PyTorch JIT, a language and compiler stack for executing PyTorch models portably and efficiently. To learn more about the JIT from a user perspective, please consult our reference documentation and tutorials.
A brief summary of the source tree:
OVERVIEW.md: High-level technical overview of the JIT.frontend/: Taking PyTorch modules in Python and translating them into the JIT IR.ir/: Core IR abstractions.runtime/: Interpreter, graph execution, and JIT operators.codegen/: Generating efficient, hardware-specific code for JIT subgraphs.serialization/: Saving and loading modules.api/: Any user-facing C++ or Python interfaces.python/: Binding stuff into Python or accessing information from the Python environment.testing/: Utilities and helpers for testing.mobile/: Mobile-specific implementations of runtime components.passes/: IR-to-IR passes, generally for optimization and lowering.generated/: This folder is generated by the PyTorch build, and contains bindings for native PyTorch operators into the JIT.Refer to each folder for more in-depth documentation.
Other relevant parts of the codebase not contained here:
aten/src/ATen/core: contains JIT code re-used by other elements of the runtime system (eager, mobile, etc.)