[all-commits] [llvm/llvm-project] c51874: [mlir][sparse] Making way for SparseTensorRuntime ...

wren romano via All-commits all-commits at lists.llvm.org
Mon Nov 14 13:48:57 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c518745bbadcfb5b0cc7be8615172ecbb3573efb
      https://github.com/llvm/llvm-project/commit/c518745bbadcfb5b0cc7be8615172ecbb3573efb
  Author: wren romano <2998727+wrengr at users.noreply.github.com>
  Date:   2022-11-14 (Mon, 14 Nov 2022)

  Changed paths:
    A mlir/include/mlir/ExecutionEngine/SparseTensor/Attributes.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/COO.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/File.h
    A mlir/include/mlir/ExecutionEngine/SparseTensor/PermutationRef.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/include/mlir/ExecutionEngine/SparseTensorRuntime.h
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/ExecutionEngine/SparseTensor/CMakeLists.txt
    M mlir/lib/ExecutionEngine/SparseTensor/File.cpp
    M mlir/lib/ExecutionEngine/SparseTensor/NNZ.cpp
    A mlir/lib/ExecutionEngine/SparseTensor/PermutationRef.cpp
    M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
    M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
    M mlir/test/Dialect/SparseTensor/conversion.mlir
    M mlir/test/Dialect/SparseTensor/convert_dense2sparse.mlir
    M mlir/test/Dialect/SparseTensor/convert_sparse2dense.mlir
    M mlir/test/Dialect/SparseTensor/convert_sparse2sparse.mlir
    M mlir/test/Dialect/SparseTensor/sparse_concat.mlir
    M mlir/test/Dialect/SparseTensor/sparse_expand.mlir
    M mlir/test/Dialect/SparseTensor/sparse_fill_zero.mlir
    M mlir/test/Dialect/SparseTensor/sparse_perm_lower.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][sparse] Making way for SparseTensorRuntime to support non-permutations

Systematically updates the SparseTensorRuntime to properly distinguish tensor-dimensions from storage-levels (and their associated ranks, shapes, sizes, indices, etc).  With a few exceptions which are noted in the code, this ensures the runtime has all the **semantic** changes necessary to support non-permutations.

(Whereas **operationally**, since we're still using `std::vector<uing64_t>` to represent the mappings, there's no way to pass in any interesting non-permutations.  Changing the representation to `std::function` will be done in a separate differential.)

Depends On D137680

Reviewed By: aartbik

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




More information about the All-commits mailing list