References
The official MLIR documentation:
https://mlir.llvm.org/docs
Some useful MLIR tutorials:
https://mlir.llvm.org/docs/Tutorials/
Simplified overview of the code generation capabilities available in MLIR:
https://discourse.llvm.org/t/codegen-dialect-overview
Linalg is one of the most fundamental dialects in MLIR and IREE:
https://iree.dev/community/blog/2024-01-29-iree-mlir-linalg-tutorial/#iree-mlir-linalg-tutorial
A real full-fledged course on compiler technology:
https://www.cs.cornell.edu/courses/cs6120/2020fa/self-guided/
Glossary
- dialect
- : dialects are the mechanism used in MLIR to define new attributes, operations, and types
- and allow to model different levels of abstractions in an uniform way in the same IR\
- https://mlir.llvm.org/docs/LangRef/#dialects
- LLVM
- : originally an acronym for Low Level Virtual Machine, it has broadened in scope and
- is now a toolkit for building compilers\
- https://en.wikipedia.org/wiki/LLVM
- lower
- : in compiler technology to lower means to rewrite complex operations in term of simpler ones
- HW API
- : Application Programming Interface to create binary code for the Torq HW.
- This API provides a more abstract interface than accessing HW registers directly.
- kernel
- : in this context the code that implements a given layer or operation in a model. The words
- kernel, layer and operation are often used as synonims.
- NDL
- : N-Dimensional Loop: an NDL agent is an HW block able to generate an address sequence
- corresponding to multiple levels of nested for-loops, each specified with a counter and a stride.
- pass
- : In MLIR passes represent the basic infrastructure for transformation and optimization of
- {term}
IR
s\ - https://mlir.llvm.org/docs/PassManagement/
- SSA
- : Static Single Assignment form, is a common representation used in compilers where each variable
- is assigned exactly once\
- https://en.wikipedia.org/wiki/Static_single-assignment_form
- TOSA
- : Tensor Operator Set Architecture: introduced by ARM, it is a standard specifying a set of
- tensor operations commonly employed by Neural Networks\
- https://www.mlplatform.org/tosa/