1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
# 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.)
|