[all-commits] [llvm/llvm-project] 414ed0: [mlir][sparse] Introduce new binary and unary op

Jim Kitchen via All-commits all-commits at lists.llvm.org
Thu Mar 17 10:31:33 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 414ed019acba67e914583fdc51eb3d1328696114
      https://github.com/llvm/llvm-project/commit/414ed019acba67e914583fdc51eb3d1328696114
  Author: Jim Kitchen <jim22k at gmail.com>
  Date:   2022-03-17 (Thu, 17 Mar 2022)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip.mlir

  Log Message:
  -----------
  [mlir][sparse] Introduce new binary and unary op

When the sparse_tensor dialect lowers linalg.generic,
it makes inferences about how the operations should
affect the looping logic. For example, multiplication
is an intersection while addition is a union of two
sparse tensors.

The new binary and unary op separate the looping logic
from the computation by nesting the computation code
inside a block which is merged at the appropriate level
in the lowered looping code.

The binary op can have custom computation code for the
overlap, left, and right sparse overlap regions. The
unary op can have custom computation code for the
present and absent values.

Reviewed by: aartbik

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




More information about the All-commits mailing list