cuTile Python 到 Julia 转换助手
将 cuTile Python GPU 内核迁移为可测试的 cuTile.jl Julia 实现。
技能范围明确,主要指导本地内核文件编写、依赖安装和测试;未见恶意行为、凭据窃取或数据外传。扣分原因是流程要求直接写文件、安装依赖并运行测试而未要求用户确认,调试文档还给出 rm -rf 编译缓存命令,缺少回滚和数据流说明;依赖 CUDA、Julia、GPU,且未讨论依赖安全。
文档提供转换步骤、错误模式、示例和测试命令,且说明若遇内部编译器错误应提交最小复现。静态证据不足,未展示该技能路径对应的 Julia 源码、测试套件或 CI;存在基准报告整体 FAIL、重复内容和若干未验证 API 断言。因此按静态上限保守扣分。
目标用户、输入类型和主要转换场景清楚,涵盖内核转换、调试和优化,并列出硬件与版本前提。扣分原因是未明确非适用边界、触发排除条件、中文使用支持或大陆网络可达性;依赖本地 Blackwell GPU,适用环境较窄。
目录结构、工作流、API 映射、关键规则、测试和调试文档较完整,技能声明了 CC-BY-4.0 AND Apache-2.0、作者和标签,仓库也提供许可证及官方组织归属。扣分原因是缺少明确版本、变更日志、维护责任和更新路径;基准报告指出重复内容、缺少推荐 Examples 章节及脚本表格,且引用层级较深。
技能给出从分析、编写、测试到验证的端到端流程,并提供 add、matmul、softmax 示例和静态验证命令,理论上可减少手工迁移成本。扣分原因是本次仅静态阅读,Julia canonical kernels、测试文件和 validator 实现未随证据提供;基准报告总体 FAIL,无法确认输出可直接使用。
技能包含可审计的规则、命令、示例验证代码和一份基准报告。扣分原因是没有提交的 Julia 测试、CI 日志或独立复现结果,基准报告仅给出汇总指标且总体判定 FAIL;因此只能获得有限静态可验证性。
- 不要在未确认前自动写入项目、安装依赖或运行 GPU 测试;先检查目标文件和工作区状态。
- rm -rf ~/.julia/compiled/cuTile* 具有破坏性,应改为可恢复或更精确的缓存清理,并明确确认要求。
- 必须核实 cuTile.jl、CUDA、Julia 版本、驱动和 Blackwell GPU 是否实际兼容;当前材料未证明 Julia 转换示例已通过执行测试。
- 基准报告整体 FAIL,且报告的正向样本仅 1 个,不能据此推断广泛有效性。
这个 Skill 能做什么,适合哪些场景?
该技能面向需要把 cuTile Python 内核转换为 cuTile.jl Julia 内核的开发者。它覆盖语法、索引、广播、内存布局、类型系统和启动 API 的差异,并提供转换、调试、测试和验证流程。技能要求 Julia 内核独立运行,不依赖 Python 桥接或 pytest 集成。运行环境需要兼容版本的 Julia、CUDA 13.1 以上驱动和 Blackwell GPU。
分析 Python 的 @ct.kernel 内核及其形状、数据类型和运算;生成 julia/kernels/<op>.jl 中的 cuTile.jl 内核和桥接函数;编写 Julia Test 与 NNlib.jl 测试;注册测试;运行 scripts/validate_cutile_jl.py 静态验证器;使用 julia --project=julia/ julia/test/runtests.jl 执行测试;针对 MethodError、IRError 和数值不匹配提供调试指引。
- GPU 内核开发者需要把现有的 cuTile Python 加法、矩阵乘法或 softmax 内核迁移到 Julia。
- Julia 开发者遇到 0/1 索引、行主序/列主序、广播或 ct.load order 导致的转换错误。
- 团队需要为新转换的 cuTile.jl 内核补充 Julia 原生测试和 NNlib.jl 参考结果。
- 开发者需要在运行 Julia 测试前检查常见 cuTile.jl 反模式和启动参数错误。
- 维护者需要诊断 MethodError、IRError 或转换后数值不匹配问题。
这个 Skill 有哪些优点和局限?
- 专门覆盖 cuTile Python 到 cuTile.jl 的实际语义差异。
- 提供 add、matmul 和 softmax 的示例及 Julia ground-truth 内核和测试。
- 包含 17 条关键规则、API 映射、调试和测试参考资料。
- 包含静态验证脚本和完整的 Julia 原生测试流程。
- 仅针对 cuTile Python 到 cuTile.jl,不是通用 Python 到 Julia 转换器。
- 要求兼容版本的 Julia、CUDA 13.1 以上驱动和 Blackwell GPU。
- 源材料没有说明在其他 GPU 架构或较旧 CUDA 驱动上的支持情况。
- 仓库元数据的许可证标记为 NOASSERTION,而技能声明为 CC-BY-4.0 AND Apache-2.0,采用前应核对许可要求。
如何安装这个 Skill?
在支持 Agent Skills 的客户端中运行:npx skills add nvidia/skills --skill tilegym-converting-cutile-to-julia --yes。README 未说明该命令的具体安装目录;CLI 会处理安装目标。安装 Julia 依赖:julia --project=julia/ -e 'using Pkg; Pkg.instantiate()'。
如何使用这个 Skill?
让代理处理类似请求:“将这个 @ct.kernel cuTile Python GPU 内核转换为 cuTile.jl Julia 内核,并按照该技能的测试和验证流程检查结果。”标准流程包括分析内核、编写 julia/kernels/<op>.jl、编写并注册 julia/test/test_<op>.jl、运行 python <skill-dir>/scripts/validate_cutile_jl.py <file.jl>,以及运行 julia --project=julia/ julia/test/runtests.jl。