[all-commits] [llvm/llvm-project] a0c5b7: [mlir][sparse] support for very narrow index and p...

Aart Bik via All-commits all-commits at lists.llvm.org
Thu Apr 1 18:21:51 PDT 2021


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

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/SparseLowering.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Sparsification.cpp
    M mlir/lib/ExecutionEngine/SparseUtils.cpp
    M mlir/test/CMakeLists.txt
    M mlir/test/Dialect/Linalg/sparse_storage.mlir
    M mlir/test/Dialect/Linalg/sparse_vector.mlir
    M mlir/test/Integration/Sparse/CPU/sparse_sampled_matmul.mlir
    M mlir/test/Integration/Sparse/CPU/sparse_sum.mlir
    A mlir/test/Integration/Sparse/sparse_matvec.mlir
    A mlir/test/Integration/data/wide.mtx

  Log Message:
  -----------
  [mlir][sparse] support for very narrow index and pointer types

Rationale:
Small indices and values, when allowed by the required range of the
input tensors, can reduce the memory footprint of sparse tensors
even more. Note, however, that we must be careful zero extending
the values (since sparse tensors never use negatives for indexing),
but LLVM treats the index type as signed in most memory operations
(like the scatter and gather). This CL dots all the i's in this regard.

Reviewed By: bixia

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




More information about the All-commits mailing list