中文 | English
⚠️ [WIP] This section is under development.
基于 HF Custom CUDA Skills、PyTorch KernelAgent、AutoKernel,并结合 CUDA-Agent、GEAK、Astra、KernelSkill、CUDAMaster 等近两年代表性工作抽象出的 kernel skills 体系框架。
核心理念:把资深 kernel 工程师的优化套路,拆成一组可组合的 skills,塞进多阶段/多智能体闭环里,由 LLM + profiling 自动驱动 kernel 的生成和优化。
从 PyTorch 程序到可优化的 kernel 子图,调度多个 agent、多策略和多 kernel。
最小闭环流程:
- Profiling — 采集 NCU/ROCm 指标
- Bottleneck Diagnosis — 诊断 memory/compute/latency bound
- CodeGen / Patch — 生成或改写 kernel
- Verification — 正确性/稳定性/determinism 校验
- Benchmark — 输出 latency / TFLOPS / GBps
- Controller — 根据收益决策 keep / revert / next round
基于 AutoKernel 6 层 Playbook 的技能树:
| Tier | 优化方向 | 典型技能 |
|---|---|---|
| Tier 1 | Block / Tile / Warp 配置 | Tile 尺寸扫描、warp mapping、num_warps & num_stages 协调、Persistent/Stream-K/Split-K |
| Tier 2 | 内存访问与层次结构 | Coalescing、software pipelining、shared memory padding/swizzle、L2 cache-aware、register spill 管理 |
| Tier 3 | 计算优化 | Mixed precision + FP32 accumulator、fused epilogue、inner loop 瘦身、fast math intrinsics |
| Tier 4 | 高级调度与并行 | Split-K/Stream-K、persistent kernel、warp specialization、多 GPU 通信融合 |
| Tier 5 | 架构特化 | Hopper (WGMMA/TMA/cluster)、Ampere (cp.async/TF32/2:4 sparse)、AMD (LDS/wavefront 差异) |
| Tier 6 | Kernel-Specific Tricks | 与算子模式层合并,见下 |
| Kernel 类型 | 关键技巧 |
|---|---|
| GEMM | Swizzled shared layout、register tiling、epilogue fusion、tensor core pipeline |
| Softmax | Warp shuffle reduce、multi-row per TB、online log-sum-exp、fast exp/div |
| LayerNorm/RMSNorm | Welford 在线均值方差、warp shuffle 归约、rsqrtf、float4/half2 向量化 |
| FlashAttention | Q/K/V tile 双缓冲、online softmax、causal mask 早终止、两次 GEMM + TC pipeline |
| Fused MLP (SwiGLU) | 两个 GEMM + gate + elementwise 融合 |
| Cross-Entropy | Online log-sum-exp + target lookup 融合、warp-level reduce |
| Rotary Embedding | __sincosf + 常量表缓存、half2 读写 |
| MoE / Grouped GEMM | Routing align & sort、persistent cache-aware grouped GEMM、expert compute + 通信融合 |
- 多阶段正确性验证: reference.py + kernel.py + input generator,支持 5-stage harness
- 性能度量: CUDA events / Triton timer → latency + TFLOPS/GBps (JSON 输出)
- Roofline / Hardware-aware 分析: memory-bound / compute-bound / latency-bound 判定 + SOL
- 基准套件集成: KernelBench / MultiKernelBench / MSKernelBench (fast_1 / fast_2 / fast_p)
默认 skills-only,按需升级 multi-agent:
- Skills-only: Cursor / Claude Code / CLI + 本地脚本,适合单 kernel 优化
- Multi-agent 触发条件: 搜索空间 > 10³ 组合、同时 > 5 kernel、需要并发角色、团队有平台化运维能力
Multi-agent 不替代 skills,它编排 skills。Skill 接口与 artifact 协议应保持一致,以便从串行平滑升级到并行编排。
skills/
system/
profiling.md
bottleneck_diagnosis.md
verification_5stage.md
optimization/
tier1_block_tiling.md
tier2_memory_access.md
tier3_compute_fusion.md
tier4_advanced_scheduling.md
tier5_arch_h100.md / tier5_arch_amd_rocm.md
tier6_kernel_specific_tricks.md
kernels/
gemm/ attention/ norm/ softmax/ moe/ reduce/
benchmarks/
kernelbench_integration.md
roofline_analysis.md
每个 .md 前半放工程准则/图示/反例,后半放面向 LLM 的 Agent Instructions。