pytorch/torch/csrc/jit
2022-06-10 18:17:33 +00:00
..
api Reland "[pytorch][PR] Support dataclasses in TorchScript" take 2 (#74353) (#74353) (#76771) 2022-06-07 21:44:55 +00:00
backends [coreml] Use special throw macro when encountering CoreML API errors (#77429) 2022-05-16 18:02:48 +00:00
codegen turn on -Werror=type-limits in our Bazel CPU build 2022-06-10 10:04:08 +00:00
cuda
docs
frontend Fix jit schema_matching ignoring self resulting in wrong operator schema 2022-06-09 19:36:06 +00:00
ir Retry "[JIT] parse prim::Constant[value=annotate()] and prim::Constant[value={0}]" 2022-05-13 15:12:07 +00:00
mobile turn on -Werror=type-limits in our Bazel CPU build 2022-06-10 10:04:08 +00:00
operator_upgraders Move other div variants to upgraders map 2022-05-16 22:32:15 +00:00
passes [JIT] Propagate profiled information to DifferentiableGraph outputs 2022-06-10 00:54:11 +00:00
python Add mutation checks for tensor inputs 2022-06-10 18:17:33 +00:00
runtime Port index.Tensor to structured kernels. 2022-06-10 17:27:47 +00:00
serialization turn on -Werror=type-limits in our Bazel CPU build 2022-06-10 10:04:08 +00:00
tensorexpr turn on -Werror=type-limits in our Bazel CPU build 2022-06-10 10:04:08 +00:00
testing Reland "Make debug_pkl smaller by only emitting unique traces." (#73368) 2022-04-18 22:34:21 +00:00
jit_log.cpp
jit_log.h [JIT] script & logging for extracting IR from logs (#72889) 2022-03-02 18:34:35 +00:00
jit_opt_limit.cpp
jit_opt_limit.h
JIT-AUTOCAST.md
OVERVIEW.md
README.md
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 re-used by other elements of the runtime system (eager, mobile, etc.)