[Mlir-commits] [mlir] a12d057 - [mlir][sparse] update block24 example (#70145)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Oct 25 08:29:35 PDT 2023


Author: Aart Bik
Date: 2023-10-25T08:29:31-07:00
New Revision: a12d057be9795bc5bc05f01f097be29ca3ca3a25

URL: https://github.com/llvm/llvm-project/commit/a12d057be9795bc5bc05f01f097be29ca3ca3a25
DIFF: https://github.com/llvm/llvm-project/commit/a12d057be9795bc5bc05f01f097be29ca3ca3a25.diff

LOG: [mlir][sparse] update block24 example (#70145)

Removes TODO, shows how to define 8-bit crd (lacking 2-bit for now)

Added: 
    

Modified: 
    mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir

Removed: 
    


################################################################################
diff  --git a/mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir b/mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
index ea8217ab6e3f233..db844312d02b999 100644
--- a/mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
+++ b/mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
@@ -130,19 +130,6 @@ func.func private @sparse_slice(tensor<?x?xf64, #CSR_SLICE>)
 
 // -----
 
-// TODO: It is probably better to use [dense, dense, 2:4] (see NV_24 defined using new syntax
-// below) to encode a 2D matrix, but it would require dim2lvl mapping which is not ready yet.
-// So we take the simple path for now.
-#NV_24= #sparse_tensor.encoding<{
-  map = (d0, d1) -> (d0 : dense, d1 : block2_4)
-}>
-
-// CHECK-LABEL: func private @sparse_2_out_of_4(
-// CHECK-SAME: tensor<?x?xf64, #sparse_tensor.encoding<{ map = (d0, d1) -> (d0 : dense, d1 : block2_4) }>>
-func.func private @sparse_2_out_of_4(tensor<?x?xf64, #NV_24>)
-
-// -----
-
 #BSR = #sparse_tensor.encoding<{
   map = ( i, j ) ->
   ( i floordiv 2 : dense,
@@ -204,11 +191,12 @@ func.func private @BSR_explicit(%arg0: tensor<?x?xf64, #BSR_explicit>) {
   ( i            : dense,
     j floordiv 4 : dense,
     j mod 4      : block2_4
-  )
+  ),
+  crdWidth = 8  // we would even like just 2-bits
 }>
 
 // CHECK-LABEL: func private @NV_24(
-// CHECK-SAME: tensor<?x?xf64, #sparse_tensor.encoding<{ map = (d0, d1) -> (d0 : dense, d1 floordiv 4 : dense, d1 mod 4 : block2_4) }>>
+// CHECK-SAME: tensor<?x?xf64, #sparse_tensor.encoding<{ map = (d0, d1) -> (d0 : dense, d1 floordiv 4 : dense, d1 mod 4 : block2_4), crdWidth = 8 }>>
 func.func private @NV_24(%arg0: tensor<?x?xf64, #NV_24>) {
   return
 }
@@ -245,4 +233,4 @@ func.func private @NV_24(%arg0: tensor<?x?x?xf64, #NV_24>) {
 // CHECK-SAME: tensor<?x?x?xf64, #sparse_tensor.encoding<{ map = (d0, d1, d2) -> (d0 : dense, d2 floordiv 4 : dense, d1 : dense, d2 mod 4 : block2_4) }>>
 func.func private @NV_24(%arg0: tensor<?x?x?xf64, #NV_24>) {
   return
-}
\ No newline at end of file
+}


        


More information about the Mlir-commits mailing list