Welcome to the 70th issue of the MLIR Newsletter covering developments in MLIR, and related projects in the ecosystem. We welcome your contributions (contact: javed.absar@gmail.com). Click here to see previous editions.
Highlights, Discussions & RFCs
-
LLVM Dev conference will be held in Santa Clara, CA on October 22-24. Remember to register and book hotel in advance.
-
MLIR workshop the day before the main conference (registration required).
-
Discussions on the need for a vector of complex types [click here].
-
Discussions on Better location of `affine.delinearize` operation.
-
Tom Eccles posted an [RFC][OpenMP] Fix issue in MLIR to LLVMIR translation for delayed privatisation
-
Quinn Dawkins posted and RFC to Split fusion portions of the TilingInterface into a new interface - TilingOpInterface and FusableOpInterface.
-
Ongoing discussions on [RFC] Region-based control-flow with early exits in MLIR [click here].
MLIR Commits Recently:
-
Matthias aligned materialization of value replacement during dialect conversion [click here], [here], and [here].
-
Sergey Kozub added
f6E2M3FN
type (proposed in OpenCompute MX
Specification. It defines a 6-bit floating point number with bit layout S1E2M3. Unlike IEEE-754 types, there are no infinity or NaN values [click here]. -
Wang implemented TilingInterface for winograd operators [click here].
-
Andrzej removed the
removed the assumption that reading from a dynamic tensor is always a gather load
from the vectorization of tensor.extract - dynamic shape [click here]. -
Diego fixed a bug in
MaskOp::verifier
that allowedvector.mask
to
mask operations that did not implement the MaskableOpInterface. [click here]. -
Chen fixed a crash when scf.parallel’s region donesn’t terminate
with reduce op. This can happend in dialect conversion.[click here]. -
Kunwar added speculation behavior for linalg structured ops, allowing
them to be hoisted out of loops using LICM.[click here]. -
Matthias fixed an edge case that can cause circular
unrealized_conversion_cast
ops. [click here]. -
Hongtau changed loop unroller to use integer-typed IV as SCF loops now can operate on integer-typed IV [click here]
-
Andrzej grouped patterns that re-order vector.transpose and vector.broadcast
Ops (*) underpopulateSinkVectorOpsPatterns
. These patterns are
normally used to “sink” redundant Vector Ops. [click here].
Related Projects
- Triton community meeting - https://www.youtube.com/watch?v=uRlqolhNbRk
- IREE community meeting - https://www.youtube.com/watch?v=b779to--7es
- OpenXLA community meeting - https://www.youtube.com/watch?v=YK1CLzIcsJ8&t=2s
Useful Links