Step 8 of #167. RewriteDescriptorLayoutGeneric replaces it; the two coexist keyed on what they
read, so no kernel selects both.
Coverage-driven, not scheduled. The named pass may go once every fixture family whose layouts it
pins has a Level D band on the generic pass, green on the device tier. Today compiles_to_binary
exists for elementwise, reduce and spyreop only. gather, matmul and softmax have
none, and for gather and matmul the only thing pinning their layouts is this pass's own
gather.mlir, matmul.mlir and batch-matmul.mlir. So the blocker is device coverage, not layout
correctness.
Delete
lib/Dialect/KTDP/Transforms/RewriteDescriptorLayout.cpp and its RewriteDescriptorLayout/
subdirectory.
- Its
Passes.td entry and Pipeline.cpp wiring.
- The 20 lit fixtures under
test/Dialect/KTDP/Transforms/RewriteDescriptorLayout/.
SpyreTensorLayoutOp::verify() in lib/Dialect/Triton/IR/Ops.cpp — a second copy of the rules
tts::verifyTensorLayoutArrays owns, duplicated only because an upstream file cannot depend on
third_party/spyre. Ending that duplication is the point of the deletion. Keep the two in step
until then.
Gate
Device tier plus the spyrecode-compile-test.py sweep, at whatever count the three families above
reach once they have Level D bands. Deleting a pass no kernel selects should move neither number.
Note
data_layout = "host" is listed under this step in #167 but is already gone — nothing spells it
except two fixture comments recording its absence. Out of scope.
Step 8 of #167.
RewriteDescriptorLayoutGenericreplaces it; the two coexist keyed on what theyread, so no kernel selects both.
Coverage-driven, not scheduled. The named pass may go once every fixture family whose layouts it
pins has a Level D band on the generic pass, green on the device tier. Today
compiles_to_binaryexists for
elementwise,reduceandspyreoponly.gather,matmulandsoftmaxhavenone, and for gather and matmul the only thing pinning their layouts is this pass's own
gather.mlir,matmul.mlirandbatch-matmul.mlir. So the blocker is device coverage, not layoutcorrectness.
Delete
lib/Dialect/KTDP/Transforms/RewriteDescriptorLayout.cppand itsRewriteDescriptorLayout/subdirectory.
Passes.tdentry andPipeline.cppwiring.test/Dialect/KTDP/Transforms/RewriteDescriptorLayout/.SpyreTensorLayoutOp::verify()inlib/Dialect/Triton/IR/Ops.cpp— a second copy of the rulestts::verifyTensorLayoutArraysowns, duplicated only because an upstream file cannot depend onthird_party/spyre. Ending that duplication is the point of the deletion. Keep the two in stepuntil then.
Gate
Device tier plus the
spyrecode-compile-test.pysweep, at whatever count the three families abovereach once they have Level D bands. Deleting a pass no kernel selects should move neither number.
Note
data_layout = "host"is listed under this step in #167 but is already gone — nothing spells itexcept two fixture comments recording its absence. Out of scope.