[all-commits] [llvm/llvm-project] 76647f: [mlir][sparse] Combining `dimOrdering`+`higherOrde...

wren romano via All-commits all-commits at lists.llvm.org
Tue May 30 15:20:07 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 76647fce136a362a30ee2434cce765dee9924d74
      https://github.com/llvm/llvm-project/commit/76647fce136a362a30ee2434cce765dee9924d74
  Author: wren romano <2998727+wrengr at users.noreply.github.com>
  Date:   2023-05-30 (Tue, 30 May 2023)

  Changed paths:
    M mlir/include/mlir-c/Dialect/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/test/CAPI/sparse_tensor.c
    M mlir/test/Dialect/SparseTensor/codegen.mlir
    M mlir/test/Dialect/SparseTensor/codegen_sparse_dealloc.mlir
    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/invalid_encoding.mlir
    M mlir/test/Dialect/SparseTensor/one_shot_bufferize_tensor_copy_insertion.mlir
    M mlir/test/Dialect/SparseTensor/rewriting_for_codegen.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
    M mlir/test/Dialect/SparseTensor/sparse_concat.mlir
    M mlir/test/Dialect/SparseTensor/sparse_concat_codegen.mlir
    M mlir/test/Dialect/SparseTensor/sparse_expand.mlir
    M mlir/test/Dialect/SparseTensor/sparse_lower_col.mlir
    M mlir/test/Dialect/SparseTensor/sparse_matmul_codegen.mlir
    M mlir/test/Dialect/SparseTensor/sparse_out.mlir
    M mlir/test/Dialect/SparseTensor/sparse_perm.mlir
    M mlir/test/Dialect/SparseTensor/sparse_perm_lower.mlir
    M mlir/test/Dialect/SparseTensor/sparse_transpose.mlir
    M mlir/test/Dialect/SparseTensor/sparse_vector_concat.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0_permute.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1_permute.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_codegen_foreach.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_1d_nwc_wcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_dyn.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_element.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_ptr.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2dense.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2sparse.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_simple.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_prod.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_select.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sorted_coo.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_storage.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose.mlir
    M mlir/test/Integration/Dialect/SparseTensor/python/test_SDDMM.py
    M mlir/test/Integration/Dialect/SparseTensor/python/test_SpMM.py
    M mlir/test/Integration/Dialect/SparseTensor/python/test_output.py
    M mlir/test/Integration/Dialect/SparseTensor/python/test_stress.py
    M mlir/test/Integration/Dialect/SparseTensor/taco/tools/mlir_pytaco.py
    M mlir/test/python/dialects/sparse_tensor/dialect.py

  Log Message:
  -----------
  [mlir][sparse] Combining `dimOrdering`+`higherOrdering` fields into `dimToLvl`

This is a major step along the way towards the new STEA design.  While a great deal of this patch is simple renaming, there are several significant changes as well.  I've done my best to ensure that this patch retains the previous behavior and error-conditions, even though those are at odds with the eventual intended semantics of the `dimToLvl` mapping.  Since the majority of the compiler does not yet support non-permutations, I've also added explicit assertions in places that previously had implicitly assumed it was dealing with permutations.

Reviewed By: aartbik

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




More information about the All-commits mailing list