[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