[all-commits] [llvm/llvm-project] faa00c: [mlir][sparse] implement sparse2sparse reshaping (...

Aart Bik via All-commits all-commits at lists.llvm.org
Mon Jul 11 14:49:24 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: faa00c131351725d8db74bac6a06459430344455
      https://github.com/llvm/llvm-project/commit/faa00c131351725d8db74bac6a06459430344455
  Author: Aart Bik <ajcbik at google.com>
  Date:   2022-07-11 (Mon, 11 Jul 2022)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/test/Dialect/SparseTensor/rewriting.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reshape.mlir

  Log Message:
  -----------
  [mlir][sparse] implement sparse2sparse reshaping (expand/collapse)

A previous revision implemented expand/collapse reshaping between
dense and sparse tensors for sparse2dense and dense2sparse since those
could use the "cheap" view reshape on the already materialized
dense tensor (at either the input or output side), and do some
reshuffling from or to sparse. The dense2dense case, as always,
is handled with a "cheap" view change.

This revision implements the sparse2sparse cases. Lacking any "view"
support on sparse tensors this operation necessarily has to perform
data reshuffling on both ends.

Tracker for improving this:
https://github.com/llvm/llvm-project/issues/56477

Reviewed By: bixia

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




More information about the All-commits mailing list