| # PyTorch Glossary | |
| <!-- toc --> | |
| - [Operation and Kernel](#operation-and-kernel) | |
| - [ATen](#aten) | |
| - [Operation](#operation) | |
| - [Native Operation](#native-operation) | |
| - [Custom Operation](#custom-operation) | |
| - [Kernel](#kernel) | |
| - [Compound Operation](#compound-operation) | |
| - [Composite Operation](#composite-operation) | |
| - [Non-Leaf Operation](#non-leaf-operation) | |
| - [Leaf Operation](#leaf-operation) | |
| - [Device Kernel](#device-kernel) | |
| - [Compound Kernel](#compound-kernel) | |
| - [JIT Compilation](#jit-compilation) | |
| - [JIT](#jit) | |
| - [TorchScript](#torchscript) | |
| - [Tracing](#tracing) | |
| - [Scripting](#scripting) | |
| <!-- tocstop --> | |
| # Operation and Kernel | |
| ## ATen | |
| Short for "A Tensor Library". The foundational tensor and mathematical | |
| operation library on which all else is built. | |
| ## Operation | |
| A unit of work. For example, the work of matrix multiplication is an operation | |
| called aten::matmul. | |
| ## Native Operation | |
| An operation that comes natively with PyTorch ATen, for example aten::matmul. | |
| ## Custom Operation | |
| An Operation that is defined by users and is usually a Compound Operation. | |
| For example, this | |
| [tutorial](https://pytorch.org/docs/stable/notes/extending.html) details how | |
| to create Custom Operations. | |
| ## Kernel | |
| Implementation of a PyTorch operation, specifying what should be done when an | |
| operation executes. | |
| ## Compound Operation | |
| A Compound Operation is composed of other operations. Its kernel is usually | |
| device-agnostic. Normally it doesn't have its own derivative functions defined. | |
| Instead, AutoGrad automatically computes its derivative based on operations it | |
| uses. | |
| ## Composite Operation | |
| Same as Compound Operation. | |
| ## Non-Leaf Operation | |
| Same as Compound Operation. | |
| ## Leaf Operation | |
| An operation that's considered a basic operation, as opposed to a Compound | |
| Operation. Leaf Operation always has dispatch functions defined, usually has a | |
| derivative function defined as well. | |
| ## Device Kernel | |
| Device-specific kernel of a leaf operation. | |
| ## Compound Kernel | |
| Opposed to Device Kernels, Compound kernels are usually device-agnostic and belong to Compound Operations. | |
| # JIT Compilation | |
| ## JIT | |
| Just-In-Time Compilation. | |
| ## TorchScript | |
| An interface to the TorchScript JIT compiler and interpreter. | |
| ## Tracing | |
| Using `torch.jit.trace` on a function to get an executable that can be optimized | |
| using just-in-time compilation. | |
| ## Scripting | |
| Using `torch.jit.script` on a function to inspect source code and compile it as | |
| TorchScript code. |