[all-commits] [llvm/llvm-project] 7373ca: [mlir][sparse] implement full reduction "scalariza...

Aart Bik via All-commits all-commits at lists.llvm.org
Thu Nov 4 17:39:11 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7373cabcda8f5c0ed83cf40034ff69bc47a4a8c9
      https://github.com/llvm/llvm-project/commit/7373cabcda8f5c0ed83cf40034ff69bc47a4a8c9
  Author: Aart Bik <ajcbik at google.com>
  Date:   2021-11-04 (Thu, 04 Nov 2021)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/test/Dialect/SparseTensor/sparse_1d.mlir
    M mlir/test/Dialect/SparseTensor/sparse_2d.mlir
    M mlir/test/Dialect/SparseTensor/sparse_3d.mlir
    M mlir/test/Dialect/SparseTensor/sparse_lower.mlir
    M mlir/test/Dialect/SparseTensor/sparse_lower_inplace.mlir
    M mlir/test/Dialect/SparseTensor/sparse_perm_lower.mlir

  Log Message:
  -----------
  [mlir][sparse] implement full reduction "scalarization" across loop nests

The earlier reduction "scalarization" was only applied to a chain of
*innermost* and *for* loops. This revision generalizes this to any
nesting of for- and while-loops. This implies that reductions can be
implemented with a lot less load and store operations. The chaining
is implemented with a forest of yield statements (but not as bad as
when we would also include the while-induction).

Fixes https://bugs.llvm.org/show_bug.cgi?id=52311

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D113078




More information about the All-commits mailing list