mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-06 12:20:52 +01:00
Summary: During the inference time the intermediate graphs for optimization are not used so the Executor's graph is the only graph we need to keep around these two flags Test Plan: the FLAGS are all off by default baseline ``` buck run mode/opt-clang sigrid/predictor/client/localnet:run_model -- --model_id_to_load=951679039 --model_snapshot_to_load=244 --torch_jit_do_not_store_optimized_graph=true I1212 10:24:20.407408 401092 SigridPredictorLocalModelFactory.cpp:32] Memory usage for 951679039_244 is 182863 Kb ``` ``` buck run mode/opt-clang sigrid/predictor/client/localnet:run_model -- --model_id_to_load=951679039 --model_snapshot_to_load=244 --torch_jit_do_not_store_optimized_graph=true --torch_jit_release_profiling_graph_after_optimization=true I1212 10:31:37.663487 464000 SigridPredictorLocalModelFactory.cpp:32] Memory usage for 951679039_244 is 186127 Kb ``` ``` buck run mode/opt-clang sigrid/predictor/client/localnet:run_model -- --model_id_to_load=951679039 --model_snapshot_to_load=244 --torch_jit_do_not_store_optimized_graph=true --torch_jit_release_profiling_graph_after_optimization=true --torch_jit_execution_plan_avoid_extra_graph_copy=true I1212 10:29:42.848093 447218 SigridPredictorLocalModelFactory.cpp:32] Memory usage for 951679039_244 is 129451 Kb``` Differential Revision: D52081631 Pull Request resolved: https://github.com/pytorch/pytorch/pull/115657 Approved by: https://github.com/houseroad |
||
|---|---|---|
| .. | ||
| api | ||
| backends | ||
| codegen | ||
| cuda | ||
| docs | ||
| frontend | ||
| ir | ||
| mobile | ||
| operator_upgraders | ||
| passes | ||
| python | ||
| runtime | ||
| serialization | ||
| tensorexpr | ||
| testing | ||
| jit_log.cpp | ||
| jit_log.h | ||
| 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.)