What problem does it solve? FlyDSL kernels on AMD Instinct GPUs ship with default configs that leave performance on the table, and misconfigured autotune keys or config spaces silently produce wrong or slow kernels. This Skill guides you through building a correct FlyDSL config space, setting the autotune key, pruning candidates, and racing FlyDSL against hipBLASLt, CK, Triton, and torch via aiter's libtype mechanism. ## Core Features & Use Cases - Config space authoring: Build flydsl.Config spaces covering tile sizes, split-K factors, async copy, and LDS staging, with the key API divergences from Triton (e.g. waves_per_eu as a keyword) called out explicitly. - Autotune key correctness: Ensure the key names every dimension the kernel tiles or branches on, avoiding silent reuse of configs tuned for the wrong shape (measured at 3.75x slowdown). - Backend racing: Use aiter's gemm_tuner.py to race FlyDSL against hipBLASLt, Triton, CK, and torch per shape, with results recorded in a libtype column. - Use Case: You have a bf16 GEMM serving both prefill and decode on a gfx950 box. Use this Skill to split the config space by regime, add split-K factors, prune analytically, and confirm whether FlyDSL actually wins against the vendor libraries before committing to it. ## Quick Start Ask the agent to tune the FlyDSL kernel for your target shape on the current AMD GPU, building a pruned config space and racing it against the other aiter backends.