# PyTorch JIT 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](https://pytorch.org/docs/stable/jit.html) and [tutorials](https://pytorch.org/tutorials/beginner/Intro_to_TorchScript_tutorial.html). A brief summary of the source tree: - [OVERVIEW.md](OVERVIEW.md): High-level technical overview of the JIT. - [frontend/](frontend): Taking PyTorch modules in Python and translating them into the JIT IR. - [ir/](ir): Core IR abstractions. - [runtime/](runtime): Interpreter, graph execution, and JIT operators. - [codegen/](codegen): Generating efficient, hardware-specific code for JIT subgraphs. - [serialization/](serialization): Saving and loading modules. - [api/](api): Any user-facing C++ or Python interfaces. - [python/](python): Binding stuff into Python or accessing information from the Python environment. - [testing/](testing): Utilities and helpers for testing. - [mobile/](mobile): Mobile-specific implementations of runtime components. - [passes/](passes): IR-to-IR passes, generally for optimization and lowering. - [generated/](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](/aten/src/ATen/core): contains JIT code re-used by other elements of the runtime system (eager, mobile, etc.)