SuperAPI AI 工具集

tilegym-converting-cutile-to-julia

编程与开发

查看项目

更新于 10-16 09:53

技能介绍

用途:把 cuTile Python GPU 内核(@ct.kernel)转换为 cuTile.jl 的 Julia 函数 kernel,覆盖内核语法翻译与 0 索引到 1 索引的转换,并包含测试与调试流程。

主要能力:提供标准转换工作流(translations/workflow.md);错误排查(MethodError、IRError、数值不匹配)参考 references/debugging.md;API 映射与关键规则见 references/api-mapping.md、references/critical-rules.md;测试模式见 references/testing.md。常见陷阱包括:Julia 中无 ct.full(),改用 fill(val, shape)、zeros、ones;对 tile 用 max 会报 IRError,应使用 max.(a, b);ct.launch 参数为位置参数须与签名一致;ct.load 的 order 会同时重映射形状与索引。

使用方式:Julia 子项目位于仓库根目录 julia/,含 Project.toml,依赖 CUDA.jl、cuTile.jl、NNlib.jl、Test。流程:分析 Python 内核 → 在 julia/kernels/<op>.jl 编写 kernel 与桥接函数 → 在 julia/test/test_<op>.jl 编写测试 → 在 runtests.jl 注册 → 运行 python <skill-dir>/scripts/validate_cutile_jl.py <file.jl> 校验 → 运行 julia --project=julia/ julia/test/runtests.jl 测试。依赖安装:julia --project=julia/ -e 'using Pkg; Pkg.instantiate()'。参考实现为 julia/kernels/.jl 与 julia/test/.jl。

适用场景:需要将 cuTile Python 内核迁移到 Julia 生态的 GPU 开发。

限制:需 Julia(版本以 Project.toml 的 [compat] julia 为准,缺失或不符时从 https://julialang.org/install/ 安装)、CUDA 13.1+ 驱动、Blackwell GPU(计算能力 10+)。Julia 内核独立运行,无 Python 桥接、无 pytest 集成。其余细节暂未提供。