What problem does it solve?
It guides you through registering and validating a new cuTile GPU kernel operator in TileGym so the operator is discoverable, executable on the cuTile backend, and covered by tests and benchmarks.
Core Features & Use Cases
- Dispatch registration in ops.py: define a single entry-point
@dispatch operator function that routes to the active backend and raises NotImplementedError when unsupported.
- cuTile backend implementation: create the cuTile kernel file and register the implementation using
register_impl for the cutile backend.
- Exports wiring in cutile/init.py: ensure the backend module imports the operator and includes it in
__all__ so it loads correctly.
- Correctness tests: add a pytest suite that selects the backend, uses a PyTorch reference implementation, and asserts numerical accuracy.
- Performance benchmarking: add a benchmark that compares against a registered torch reference and reports metrics such as GB/s or TFLOPS.
- Verification workflow: run pytest and lint to confirm the added kernel integrates cleanly across the repository.
Quick Start
Ask the AI to: “Using the adding-cutile-kernel skill, outline the exact files and code changes needed to add and test a new my_op cuTile operator in TileGym, including ops registration, cutile backend code, exports, pytest coverage, and a benchmark.”