tilegym-improve-cutile-kernel-perf

Solid

Iteratively optimize cuTile kernel performance through systematic profiling, bottleneck analysis, IR comparison, and targeted tuning. Covers tile sizes, occupancy, autotune configs, TMA, latency hints, persistent scheduling, num_ctas, flush_to_zero, and IR-level debugging. Use when asked to "optimize cutile kernel", "improve kernel perf", "tune cutile performance", "make kernel faster", or iteratively benchmark and refine a cuTile GPU kernel in the TileGym project.

AI & Automation 4 stars 0 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 83/100

Stars 20%
23
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Iterative cuTile Kernel Performance Optimization Systematically profile, diagnose bottlenecks, and iteratively tune a cuTile kernel's performance in the TileGym repository. ## Instructions Follow the three phases in order: **Setup** the environment and baseline, run the **Experimentation** loop with a tracked log, then iterate **The experiment loop** until perf goals are met or further gains plateau. ## Setup Work with user to prepare optimization environment: 1. Create a fresh git branch: Propose a branch name, e.g., `cutile-perf-<kernel_name>-<date>` from current branch. Checkout `git checkout -b <branch name>` 2. Locate the target kernel: - cuTile kernels live under `src/tilegym/suites/<suite>/cutile/` or `src/tilegym/ops/cutile/` - Read the kernel file and identify: the `@ct.kernel` decorated function(s), the launch wrapper (`ct.launch()` or `ct_experimental.autotune_launch()`), the `@register_impl` registration, and current autotune configs (if any) 3. Classify the kernel: - Arithmetic Intensity < 10 -> Memory-bound - Arithmetic Intensity 10-50 -> Balanced - Arithmetic Intensity > 50 -> Compute-bound Note: classification is only used to pick the optimization priority order in the experiment loop. The **core metric** is always `latency (ms)`. 4. Check GPU environment: - Ensure a GPU node (Blackwell or Ampere GPU) is available - All subsequent benchmark commands should run on the GPU node 5. Study related references: - `references/optimizat...

Details

Author
yangwhale
Repository
yangwhale/CloseCrab
Created
6 months ago
Last Updated
today
Language
Python
License
Apache-2.0

Similar Skills

Semantically similar based on skill content — not just same category