← ClaudeAtlas

tilegym-converting-cutile-to-julialisted

Converts cuTile Python GPU kernels (@ct.kernel) to cuTile.jl Julia equivalents. Handles kernel syntax translation, 0-indexed to 1-indexed conversion, broadcasting differences, memory layout (row-major to column-major), type system mapping, and launch API differences. Use when converting, porting, or translating cuTile Python kernels to Julia cuTile.jl, or debugging/optimizing existing Julia cuTile translations.
yangwhale/CloseCrab · ★ 4 · AI & Automation · score 80
Install: claude install-skill yangwhale/CloseCrab
# cuTile Python → cuTile.jl (Julia) Conversion Convert `@ct.kernel` Python kernels to Julia `function ... end` cuTile.jl kernels. ## Workflow Selection - **Standard conversion** → Full workflow: [`translations/workflow.md`](translations/workflow.md) - **Errors** (`MethodError`, `IRError`, numerical mismatch) → [`references/debugging.md`](references/debugging.md) - **Quick reference** → [`references/api-mapping.md`](references/api-mapping.md) + [`references/critical-rules.md`](references/critical-rules.md) - **Test patterns** → [`references/testing.md`](references/testing.md) ## Architecture Julia kernels are **standalone** — no Python bridge, no pytest integration. The Julia sub-project lives in `julia/` at the repo root with its own `Project.toml` for dependency management. ``` julia/ # Self-contained Julia sub-project ├── Project.toml # Dependencies: CUDA.jl, cuTile.jl, NNlib.jl, Test ├── kernels/ # cuTile.jl kernel implementations │ ├── add.jl # ← Ground-truth: 1D element-wise with alpha scaling (tensor+tensor, tensor+scalar) │ ├── matmul.jl # ← Ground-truth: 2D tiled MMA, standard Julia layout (M,K)×(K,N)→(M,N) │ └── softmax.jl # ← Ground-truth: 3 strategies (TMA, online, chunked) using ct.load/ct.store └── test/ # Julia-native tests (using Test stdlib) ├── runtests.jl # Test runner entry point ├── test_add.jl ├──