tree: a06fb1d2c8ce6586b0567fd93611908c331d2818 [path history] [tgz]
  1. api/
  2. backends/
  3. codegen/
  4. cuda/
  5. docs/
  6. frontend/
  7. ir/
  8. mobile/
  9. operator_upgraders/
  10. passes/
  11. python/
  12. runtime/
  13. serialization/
  14. tensorexpr/
  15. testing/
  16. JIT-AUTOCAST.md
  17. jit_log.cpp
  18. jit_log.h
  19. jit_opt_limit.cpp
  20. jit_opt_limit.h
  21. OVERVIEW.md
  22. README.md
  23. resource_guard.h
torch/csrc/jit/README.md

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 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.)