mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-07 12:21:27 +01:00
Current torch.compile docs have become a bit of a mess with the docs expanded in the left nav. This PR moves them under the torch.compiler menu item in the left nav. A bunch of rewrites were made in collaboration with @msaroufim to address formatting issues, latest updates that moved some of the APIs to the public torch.compiler namespace were addressed as well. The documentation is broken down in three categories that address three main audiences: PyTorch users, Pytorch Developers and PyTorch backend vendors. While, the user-facing documentation was significantly rewritten, dev docs and vendor docs kept mostly untouched. This can be addressed in the follow up PRs. Pull Request resolved: https://github.com/pytorch/pytorch/pull/105376 Approved by: https://github.com/msaroufim
38 lines
1.3 KiB
ReStructuredText
38 lines
1.3 KiB
ReStructuredText
IRs
|
|
===============
|
|
|
|
PyTorch 2.0 offers two set of IRs for backends to interface with: Core Aten IR and Prims IR.
|
|
|
|
Core Aten IR
|
|
--------------------
|
|
|
|
Core aten ops is the core subset of aten operators that can be used to compose other operators.
|
|
Core aten IR is fully functional, and there is no `inplace` or `_out` variants in this opset.
|
|
In contrast to Prims IR, core aten ops reuses the existing aten ops in "native_functions.yaml",
|
|
and it doesn't further decompose ops into explicit type promotion and broadcasting ops.
|
|
This opset is designed to serve as the functional IR to interface with backends.
|
|
|
|
.. warning::
|
|
This opset is still under active development, more ops will be added in the future.
|
|
|
|
.. csv-table::
|
|
:file: ../build/ir/aten_ops.csv
|
|
:widths: auto
|
|
:header-rows: 1
|
|
|
|
Prims IR
|
|
-----------
|
|
|
|
Prims IR is a set of primitive operators that can be used to compose other operators.
|
|
Prims IR is a lower level opset than core aten IR, and it further decomposes ops into explicit
|
|
type promotion and broadcasting ops: prims.convert_element_type and prims.broadcast_in_dim.
|
|
This opset is designed to interface with compiler backends.
|
|
|
|
.. warning::
|
|
This opset is still under active development, more ops will be added in the future.
|
|
|
|
.. csv-table::
|
|
:file: ../build/ir/prims_ops.csv
|
|
:widths: auto
|
|
:header-rows: 1
|