TileGym cuTile 内核性能优化
通过剖析、瓶颈诊断和逐项调优,系统降低 TileGym cuTile GPU 内核延迟。
技能明确限制可修改范围、要求正确性验证并在失败时回退,且披露了 Ampere 上 TMA 越界可能静默损坏的风险;但包含 git checkout/reset、提交和 rm -rf 临时目录等外部或破坏性操作,用户确认、未提交改动保护、回滚边界及数据流说明不足,并且仓库许可证元数据为 NOASSERTION,与文件许可证声明存在不一致,因此扣分。
三阶段流程、单变量实验、基准记录和失败回退规则较清楚,引用了测试命令及异常诊断方法;但依赖特定 GPU、cuda-tile、tileiras、仓库测试和外部环境,部分命令与路径为占位符,Blackwell/Hopper/Ampere 支持说明不完全一致,未提供可静态确认的 CI 覆盖,因此按静态校准限制在 6 分。
目标用户、cuTile 性能优化场景、主要触发词、输入位置和优化范围基本明确,也说明了部分不适用情形;但缺少系统化的非目标边界、结果格式说明和环境前置检查失败时的替代路径,且没有中文使用说明,GPU 节点要求限制了通用性,因此扣分。
文档分层较完整,包含 API、模式、性能模型、调优手册、日志格式、版本字段和作者信息;但引用的部分文件未在给定材料中呈现,存在重复内容,版本日期为未来式格式但无变更日志,维护责任与更新路径不够明确,且许可证元数据冲突,因此扣分。
技能提供了可执行的 profiling、一次一项优化、正确性测试、性能比较和 keep/revert 决策流程,目标指标和记录表直接可用;但其效果高度依赖可用 GPU、完整 TileGym 测试和真实 benchmark,示例收益未在本技能文件中得到可独立验证,且评估报告总体 verdict 为 FAIL,因此未超过静态上限并扣分。
提交了评估任务、结果摘要、命令模板、性能记录格式和诊断步骤,具备一定审计线索;但没有真实 CI 工作流、可核验的测试结果或多来源复现材料,BENCHMARK 主要是报告性证据,静态审查无法执行关键路径,因此按静态上限给 4 分。
- 执行前应明确确认分支创建、提交、回退和临时目录清理操作,并保护用户已有未提交改动。
- 应验证实际 GPU 架构、cuTile/tileiras 版本、测试路径和 TMA 越界语义,尤其避免 Ampere 上未设置 ZERO padding 导致静默数据损坏。
- 应修正许可证元数据冲突、补充真实 CI/测试复现证据,并重新运行评估;当前 BENCHMARK 总体结论为 FAIL。
- 当前文档未提供中文说明,且核心功能依赖特定 GPU 与 NVIDIA 软件环境。
这个 Skill 能做什么,适合哪些场景?
该技能面向 TileGym 项目中的 cuTile GPU 内核性能优化。它要求先建立基线,再以单项实验为单位修改内核或启动配置,验证正确性并重新基准测试。优化范围包括 tile 大小、占用率、自动调优配置、TMA、延迟提示、持久化调度、num_ctas 和 flush_to_zero。核心指标是延迟,且每次优化都必须保持数值正确性。
它指导代理创建性能优化分支,定位 TileGym 中的 cuTile 内核、启动包装器、注册信息和自动调优配置;读取相关优化参考资料;创建并维护 @sandbox/perf_results.md;运行 pytest 正确性测试和性能基准测试;比较每次实验的 latency (ms),决定保留、回退或停止;必要时检查 IR、分析瓶颈并提交保留的修改。
- TileGym 开发者需要降低某个 cuTile 内核的 GPU 延迟。
- 内核已有实现和测试,但需要通过 profiling 找出内存、计算或调度瓶颈。
- 工程师希望逐项评估 TMA、tile 大小、占用率或持久化调度等参数。
- 团队需要保留正确性测试、延迟数据和优化决策的可追踪实验记录。
- 开发者需要比较 cuTile 内核的 IR,以诊断编译或性能问题。
这个 Skill 有哪些优点和局限?
- 提供从基线、单项实验到回退决策的明确流程。
- 将 latency (ms) 设为核心指标,并要求每次修改验证正确性。
- 覆盖 TMA、tile 大小、占用率、自动调优、IR 调试等具体 cuTile 参数。
- 要求使用表格记录每轮延迟、正确性和状态,便于追踪。
- 依赖 TileGym 项目结构、cuTile、Python pytest、Git 和 GPU 节点。
- 基准测试要求 Blackwell、Hopper 或 Ampere GPU,未提供无 GPU 环境的替代流程。
- 技能本身未包含具体内核、测试数据或实测性能提升证据。
- 每轮实验有十分钟限制,整体最多执行 25 轮,可能限制复杂优化任务。
如何安装这个 Skill?
使用 NVIDIA/skills 的 skills CLI 安装指定技能:
npx skills add nvidia/skills --skill tilegym-improve-cutile-kernel-perf --yes
也可以使用 --agent codex 或 --agent claude-code 指定客户端。README 未说明将该技能文件夹手动复制到特定目录的步骤。
如何使用这个 Skill?
在已加载该技能的代理中提出具体请求,例如:
"Optimize this cuTile kernel performance in TileGym."
或:"Improve kernel perf by profiling and iteratively tuning the cuTile kernel."
开始前需要准备 TileGym 仓库、可用 GPU 节点和测试环境,并在设置阶段确认后进入实验循环。