MLIR News, 69th edition (15th August 2024)

Welcome to the 69th 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

MLIR Commits Recently:

  • Tobias Gysi added three matchers that unlike the m_NonZero matcher
    not only match constants, but also operations that implement the
    InferIntRangeInterface. [click here].

  • Weiwei Chen added metadata to diagnostics [click here]).

  • Mahesh added 'concatenation of empty tensors replaced by a single empty
    tensor of the concatenated shape. [click here].

  • Rob Suderman fixed the polynomial approximation for asin. It was only good between [-9/16,9/16]. Values beyond that range needed be remapped to achieve good numeric results :
    arcsin(x) = PI/2 - arcsin(sqrt(1.0 - x*x)) [click here]).

  • Andrzej fixed one aspect of vectorising tensor.extract
    Ops when targeting scalable vectors. Namely, it makes sure that the
    scalable flag is correctly propagated when creating
    vector::ShapeCastOp.[click here].

  • Donald Chen added to Linalg a pattern to implement transpose(broadcast(input)) -> broadcast(transpose(input)) [click here]

  • Matthias added checks for the number of elements in the result type and the attribute of an llvm.mlir.constant op matches. [click here]. Also, fixed type constraint check which was missing in auto-generated from TableGen descriptions.[click here].

  • Benjamin Maxwell added a new transform eliminateVectorMasks() which aims at removing scalable vector.create_masks that will be all-true at
    runtime [click here].

  • Victor Perez added optional attributes to llvm.func representing LLVM so-called “kernel” metadata. [click here].

  • Mesh Sharding changes and fixes e.g. Replacing #mesh.sharding attribute with operation mesh.sharding [click here].

  • Nikhil added support for parsing nested pass pipeline options [click here].

  • Zhong fixed linalg.batch_reduce_matmul auto cast [click here].

  • Mahesh deprecated linalg::tileToForallOp in favor of using the scf::tileUsingSCF methods as replacements. To get the latter on par with requirements of the deprecated methods, the tiling allows one to specify the maximum number of tiles to use instead of specifying the tile sizes. When tiling to scf.forall this specification is used to generate the num_threads version of the operation. [click here].

Related Projects

Useful Links

3 Likes