[all-commits] [llvm/llvm-project] 81d0d2: [mlir][sparse] Sparse reduction in lex order no lo...

Jim Kitchen via All-commits all-commits at lists.llvm.org
Fri Feb 10 11:09:48 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 81d0d2b2a068eae9692b9317bceaaea252c1bbf8
      https://github.com/llvm/llvm-project/commit/81d0d2b2a068eae9692b9317bceaaea252c1bbf8
  Author: Jim Kitchen <jim22k at gmail.com>
  Date:   2023-02-10 (Fri, 10 Feb 2023)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/CodegenEnv.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/test/Dialect/SparseTensor/sparse_affine.mlir
    M mlir/test/Dialect/SparseTensor/sparse_out.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom.mlir

  Log Message:
  -----------
  [mlir][sparse] Sparse reduction in lex order no longer produces dense output

Previously, when performing a reduction on a sparse tensor, the result
would be different depending on iteration order. For expanded access pattern,
an empty row would contribute no entry in the output. For lex ordering, the
identity would end up in the output.

This code changes that behavior and keeps track of whether any entries were
actually reduced in lex ordering, making the output consistent between the
two iteration styles.

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




More information about the All-commits mailing list