[PATCH] D74544: [MLIR] Add naive fusion of parallel loops.

Stephan Herhut via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 24 01:18:46 PST 2020


herhut added a comment.

In D74544#1888566 <https://reviews.llvm.org/D74544#1888566>, @nicolasvasilache wrote:

> Are we sure we want another parallel SW stack to do fusion here?
>  I'd love to understand the use cases that are fundamentally different from what we'd expect to do with Linalg + Affine (with or without Intel's multi-for).


I do not see a parallel SW stack. This is pretty much structural fusion on parallel loop nests, which are the bottom layer before we go to GPU. The reason this exists is that we do not have all code generation come through LinAlg and would like to combine loops at the lowest level. I do not expect for this to grow sophisticated dependency analysis and get complex. I agree that we will need a common analysis engine that can be reused for different loop-like structures. That is probably easier designed once we have more approaches implemented in full.

Regarding affine, I'd be happy to use loop fusion on affine.parallel loops, as well. It would need to support reduction, though.

Until then, I'd like to land this structural fusion to serve a current code-generation need we have.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74544/new/

https://reviews.llvm.org/D74544





More information about the llvm-commits mailing list