mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Test Plan: test script: ``` def test_zhxchen17(self): from libfb.py.pyinit import initFacebook initFacebook() class M(torch.nn.Module): def forward(self, x): return torch.add(x, x) def tmptmp(x, y): return torch.mul(x, y) m = M() n = torch.jit.script(m) print(n(torch.tensor(1))) print(torch.jit.script(tmptmp)(torch.tensor(1), torch.tensor(2))) ``` ``` I0802 12:01:23.932929 4079081 init.cc:407] Logging to scuba: run __torch__.caffe2.test.export.test_export.M.forward sample rate: 1000000 ``` Differential Revision: D60920867 Pull Request resolved: https://github.com/pytorch/pytorch/pull/133484 Approved by: https://github.com/davidberard98
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.)