用途:这是一个专注于 cuTile 编程的专家技能,用于编写、转换、调试、优化和验证在 NVIDIA GPU 上运行的 cuTile 内核。cuTile 是带有 Python DSL 的并行编程模型,可自动利用张量核心等硬件能力。
主要能力:支持从零编写 cuTile 内核、把张量运算转换为 cuTile 实现、修复内核错误、做性能优化、理解 cuTile API 与编程模式、验证实现,以及从参考来源中查找并改写示例。调用时可指定目标张量形状、数据类型(默认 float16)、性能需求和特殊约束。
使用方式:遵循“先搜索示例”的原则,优先查 TileGym(src/tilegym/ops/cutile/),再查技能自带 examples/ 目录。简单单内核任务按步骤 0 到 6 执行:搜索示例与查阅参考、理解问题、设计内核架构、准备类型系统与常量、实现内核(@ct.kernel)、准备并启动,以及验证测试。复杂任务(3 个以上内核、内核间数据依赖、多层 nn.Module 分解等)改用多智能体编排流程。生成代码后必须实际运行验证,命令为 python <filename>.py,最多迭代 3 次直到通过。
关键限制:tile 索引而非元素索引;所有 tile 维度必须是 2 的幂;所有常量需用 ct.Constant[int] 等类型标注;forward 路径中的每个计算操作都必须经由 @ct.kernel 与 ct.launch,不得把 nn.Conv2d、F.conv2d、F.linear 等作为运行时计算调用;张量需位于 CUDA 设备。默认生成单个 .py 文件,包含内核、验证与测试代码,不创建文档文件。
适用场景:编写 GPU 内核、把 PyTorch 算子迁移到 cuTile、调试和性能调优、学习 API 与改写示例。
其他事实:官方语言规范见 https://docs.nvidia.com/cuda/cutile-python;参考文档还包括 guidelines/ 下的 01_implementation_lessons.md、02_code_generation_rules.md、03_concepts.md,以及 orchestration/workflow.md 和 orchestration/overview.md。具体版本要求、许可与收费情况暂未提供。