mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-07 12:21:27 +01:00
Fixes #147366 1. Add `/permissive-` to the `torch_compile_options` for the build to conform to the C++ standard. 2. Fix the error when trying to assign a string literal to a non-const ptr. The `/permissive-` flag can be found at https://learn.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-170 From the above [doc](https://learn.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-170#remarks), > By default, the /permissive- option is set in new projects created by Visual Studio 2017 version 15.5 and later versions. > The /permissive- option is implicitly set by the /std:c++latest option starting in Visual Studio 2019 version 16.8, and in version 16.11 by the /std:c++20 option. Thus, it is reasonable to add this flag to the existing project. Pull Request resolved: https://github.com/pytorch/pytorch/pull/149035 Approved by: https://github.com/guangyey, https://github.com/malfet |
||
|---|---|---|
| .. | ||
| 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.)