1# PyTorch Glossary 2 3<!-- toc --> 4 5- [Operation and Kernel](#operation-and-kernel) 6 - [ATen](#aten) 7 - [Operation](#operation) 8 - [Native Operation](#native-operation) 9 - [Custom Operation](#custom-operation) 10 - [Kernel](#kernel) 11 - [Compound Operation](#compound-operation) 12 - [Composite Operation](#composite-operation) 13 - [Non-Leaf Operation](#non-leaf-operation) 14 - [Leaf Operation](#leaf-operation) 15 - [Device Kernel](#device-kernel) 16 - [Compound Kernel](#compound-kernel) 17- [JIT Compilation](#jit-compilation) 18 - [JIT](#jit) 19 - [TorchScript](#torchscript) 20 - [Tracing](#tracing) 21 - [Scripting](#scripting) 22 23<!-- tocstop --> 24 25# Operation and Kernel 26 27## ATen 28Short for "A Tensor Library". The foundational tensor and mathematical 29operation library on which all else is built. 30 31## Operation 32A unit of work. For example, the work of matrix multiplication is an operation 33called aten::matmul. 34 35## Native Operation 36An operation that comes natively with PyTorch ATen, for example aten::matmul. 37 38## Custom Operation 39An Operation that is defined by users and is usually a Compound Operation. 40For example, this 41[tutorial](https://pytorch.org/docs/stable/notes/extending.html) details how 42to create Custom Operations. 43 44## Kernel 45Implementation of a PyTorch operation, specifying what should be done when an 46operation executes. 47 48## Compound Operation 49A Compound Operation is composed of other operations. Its kernel is usually 50device-agnostic. Normally it doesn't have its own derivative functions defined. 51Instead, AutoGrad automatically computes its derivative based on operations it 52uses. 53 54## Composite Operation 55Same as Compound Operation. 56 57## Non-Leaf Operation 58Same as Compound Operation. 59 60## Leaf Operation 61An operation that's considered a basic operation, as opposed to a Compound 62Operation. Leaf Operation always has dispatch functions defined, usually has a 63derivative function defined as well. 64 65## Device Kernel 66Device-specific kernel of a leaf operation. 67 68## Compound Kernel 69Opposed to Device Kernels, Compound kernels are usually device-agnostic and belong to Compound Operations. 70 71# JIT Compilation 72 73## JIT 74Just-In-Time Compilation. 75 76## TorchScript 77An interface to the TorchScript JIT compiler and interpreter. 78 79## Tracing 80Using `torch.jit.trace` on a function to get an executable that can be optimized 81using just-in-time compilation. 82 83## Scripting 84Using `torch.jit.script` on a function to inspect source code and compile it as 85TorchScript code. 86