Skip to content

Delete the named RewriteDescriptorLayout #195

Description

@fabianlim

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions