[Mlir-commits] [mlir] [mlir][sparse] introduce SoA level property on singleton level. (PR #81942)
Yinying Li
llvmlistbot at llvm.org
Thu Feb 15 16:08:43 PST 2024
================
@@ -664,7 +664,26 @@ LogicalResult SparseTensorEncodingAttr::verify(
[](LevelType i) { return isSingletonLT(i); }))
return emitError() << "expected all singleton lvlTypes "
"following a singleton level";
+ // We can potentially support mixed SoA/AoS singleton levels.
+ if (!std::all_of(it, lvlTypes.end(), [it](LevelType i) {
+ return it->isa<LevelPropNonDefault::SoA>() ==
+ i.isa<LevelPropNonDefault::SoA>();
+ })) {
+ return emitError() << "expected all singleton lvlTypes stored in the "
+ "same memory layout (SoA vs AoS).";
+ }
}
+
+ // Property SoA can only be applied on singleton level.
----------------
yinying-lisa-li wrote:
nit: SoA property sounds slightly better.
https://github.com/llvm/llvm-project/pull/81942
More information about the Mlir-commits
mailing list