pytorch/torch/csrc/jit
Scott Wolchok 303c9cf048 Save Python refcount bump on each arg in maybe_handle_torch_function (#164625)
Pybind's API entails a small unnecessary overhead when working with args. (Similarly, we should probably be using vectorcall, but that's a bigger change for both us and pybind11.)

Pull Request resolved: https://github.com/pytorch/pytorch/pull/164625
Approved by: https://github.com/albanD
ghstack dependencies: #164624
2025-10-21 02:40:12 +00:00
..
api [2/N] Mark unused parameters in C++ code (#165121) 2025-10-15 03:04:39 +00:00
backends [BE][10/16] fix typos in torch/ (torch/csrc/jit/) (#156320) 2025-07-02 22:55:29 +00:00
codegen [2/N] Mark unused parameters in C++ code (#165121) 2025-10-15 03:04:39 +00:00
cuda
docs [BE][10/16] fix typos in torch/ (torch/csrc/jit/) (#156320) 2025-07-02 22:55:29 +00:00
frontend [2/N] Mark unused parameters in C++ code (#165121) 2025-10-15 03:04:39 +00:00
ir [2/N] Mark unused parameters in C++ code (#165121) 2025-10-15 03:04:39 +00:00
mobile [2/N] Mark unused parameters in C++ code (#165121) 2025-10-15 03:04:39 +00:00
operator_upgraders [BE][10/16] fix typos in torch/ (torch/csrc/jit/) (#156320) 2025-07-02 22:55:29 +00:00
passes [2/N] Mark unused parameters in C++ code (#165121) 2025-10-15 03:04:39 +00:00
python Save Python refcount bump on each arg in maybe_handle_torch_function (#164625) 2025-10-21 02:40:12 +00:00
runtime [2/N] Mark unused parameters in C++ code (#165121) 2025-10-15 03:04:39 +00:00
serialization [PyTorch][aarch64] Cast to signed char to fix aarch64 build (#165021) 2025-10-14 05:37:34 +00:00
tensorexpr [2/N] Mark unused parameters in C++ code (#165121) 2025-10-15 03:04:39 +00:00
testing
jit_log.cpp
jit_log.h
jit_opt_limit.cpp
jit_opt_limit.h
JIT-AUTOCAST.md
OVERVIEW.md [BE][8/16] fix typos in torch/ (torch/csrc/jit/) (#156318) 2025-07-02 22:55:29 +00:00
README.md [BE][8/16] fix typos in torch/ (torch/csrc/jit/) (#156318) 2025-07-02 22:55:29 +00:00
resource_guard.h

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 reused by other elements of the runtime system (eager, mobile, etc.)