[all-commits] [llvm/llvm-project] 33b463: [mlir][sparse] external entry method wrapper for s...

Aart Bik via All-commits all-commits at lists.llvm.org
Thu Feb 1 13:33:04 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 33b463ad9976fa7a27c1a22419297fcccd79f99f
      https://github.com/llvm/llvm-project/commit/33b463ad9976fa7a27c1a22419297fcccd79f99f
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2024-02-01 (Thu, 01 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
    M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
    M mlir/lib/Dialect/SparseTensor/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
    A mlir/test/Dialect/SparseTensor/external.mlir

  Log Message:
  -----------
  [mlir][sparse] external entry method wrapper for sparse tensors (#80326)

Similar to the emit_c_interface, this pull request adds a pass that
converts public entry methods that use sparse tensors as input
parameters and/or output return values into wrapper functions that
[dis]assemble the individual tensors that constitute the actual storage
used externally into MLIR sparse tensors. This pass can be used to
prepare the public entry methods of a program that is compiled by the
MLIR sparsifier to interface with an external runtime, e.g., when
passing sparse tensors as numpy arrays from and to Python. Note that
eventual bufferization decisions (e.g. who [de]allocates the underlying
memory) should be resolved in agreement with the external runtime
(Python, PyTorch, JAX, etc.)




More information about the All-commits mailing list