Skip to content

Track cuTile Rust v0.5.0 debugging candidates #1606

Open

Description

@elibol

Track the v0.5.0 debugging fixes and the remaining scope of each issue. Merge reviewed CUDA Rust PRs into main, then include them in release/v0.5.x.

Release scope: every v0.5.0 feature must work with CTK 13.5 or earlier.

Updated 2026-10-30. Source PR acceptance and release inclusion are tracked separately.

Candidate Issue coverage Current status / evidence
#1385 #1379 frontend generated-constant fallback; related #1475 Merged into main as f613887c4 after passing CI. Exact frontend/bytecode origins stay strict; only tileiras 13.4.59/13.4.92's reproduced helper-location/inline-scope loss is a warning. 13.5 stays strict. Backend trap/coredump attribution remains unresolved.
#1480 #1475 entry wrapper and generated assumptions Merged into main as b025a8b31375e5e22d223e93f3c36c7133219948. All 25 checks passed before merge; all 36 focused debug tests passed, including assembler/GPU/live CUDA-GDB. Source changes are present in the release candidate.
#1528 #1475 short-circuit/folded constants and const-bool bindings Merged into main as 42a104843bd373467c366f125c6c6b52d50f72ef. All 25 applicable checks passed, including GPU CI and Rust CodeQL, on the identical tree before signing the original commits. Each author and each commit tree was preserved; signatures verified and approval renewed. #1475's two corresponding checklist items are complete.
#1600 #1428 consistent debug mode and runtime overrides Merged into main as 0d62b682be98a12897867b23ff0dfc0d765e9fa3; #1428 closed. All applicable CI passed, including GPU CI and Rust CodeQL. The unchanged reclaimer test failed once, then passed on a single rerun; this is documented on the PR. Original authors and trees were preserved in the signature-only rewrite, then approval renewed.
#1602 #1475 arrays, reductions and relocated/deduplicated host-check origins Already merged into main as 9718b4386; present in the integration candidate.
#1564 SIMT/native NVVM debug metadata compatibility Merged into main as 92d51a51b5bd2b6d024473dc1859d365ff61320e after review and passing CI. Prior validation includes exporter tests, strict Clippy and example CI.
#1582 SIMT line-info inline scopes Merged into main as 10e7df4b9a021ac2cc2338ce22e39a5c2343c890 after review and passing CI. Prior validation includes 1,214 importer tests, Clippy, a GPU example and unchanged SASS instruction streams in that workload.

All selected source fixes are merged into main, including #1452 (0925800d0) and #1684 (2d47e43e7). #1451 is closed. The only remaining v0.5.0 PR is draft #1613. Current candidate: d2c8120bf35ebb1fa1e6b9bb0b240f425a6fa91b — CI green: 76 passed, one expected deployment skip, whose complete file tree matches accepted main at 2d47e43e7437ca03cf84a469a9f54bfdcfb02c95 exactly. Hand SWQA this exact SHA for retesting, with CI status stated accurately. The actual release/v0.5.x branch remains at e027ac324 until #1613 is merged.

Nihal's host follow-ups are implemented: #1516 requires initialized source bytes for safe buffer casts; #1603 separates completion retention from user-visible buffer aliases while preserving access exclusion, allocation lifetime and graph ownership. #1604 carries both changes. The new-main example lockfile and archive-aware GPU test registrations are corrected. #1516 is merged as dfea11698 and #1506 is closed. Nihal approved the broader #1603/#1604 changes; merge readiness must use their latest heads and prerequisite order.

Local combined-host validation at 3ae634eee: all 1,427 CPU/assembler tests and 750 GPU tests pass (96 and three ignored respectively), plus 27 examples and eight benchmark smoke tests. PDL is the single expected example skip on CUDA 13.3. The first run hit disk exhaustion; the affected suites passed on rerun after clearing unused compiler caches. At integration revision 64ee86fe8, all 36 focused debug tests pass, including ignored assembler/GPU checks and live CUDA-GDB. The later change only migrates the expanded SIMT atomic example to owned conversions; strict example Clippy and all 24 atomic GPU cases pass on #1516 and final shared-stack head 95a51d708. cuTile/shared-host source is unchanged from the validated revisions. Fresh CI is running; do not equate local success with completed CI or acceptance.

SWQA's agreed pin remains a8d91829faa6a64e10bf27cf817c7e9f7608fba7. It remains in branch history. This refresh changes cast safety and tensor completion ownership, so the previous claim of no host/Tile source changes no longer applies. Explicitly hand off the new exact commit and retest the affected host, interop and lifetime workflows before sign-off. CTK 13.5 profiling/debugging validation remains outstanding.

The old launch-overhead hold remains removed. #1604 commit b811b7067, already integrated, reduced the reported individual-launch cost from 4.95 to 1.88 µs (earlier main baseline 1.68 µs); see the original benchmark report. These are historical measurements, not a fresh benchmark of this head.

Host-interop merge and issue closure tracking (2026-10-30):

PR Current head Issues completed on merge to main
#1516 Merged as dfea11698aa63b9a42d9f8181a711d27774d0722 #1506 closed: safe DeviceCopy/DType casts and bool validity
#1603 Merged as 6a6372e4cc2e0f142471cf18f13b9072abe87757 #1460 and #1504 closed: shared core, distinct device/context identities
#1604 Merged as 2b59e2d81e572120d6a634be2661774f9ef47097 #1461 closed: shared async runtime/remove cuda_async::simt

All three host-interop source PRs are merged into main and included in the integration candidate. #1506, #1460, #1504, and #1461 are closed. Actual release-branch inclusion remains pending #1613.

The latest refresh resolves seven workflow-trigger conflicts by taking the accepted #1580 workflows from main. No additional host implementation changes were introduced. Broader work remains open in #1503, #1505, #1401, and #1403.

Host release inclusion (check only after acceptance and inclusion in release/v0.5.x):

Release inclusion checklist (check only after merge and inclusion in release/v0.5.x):

Remaining failures and uncovered scope:

Current refresh: the bindgen regression stays mandatory in the CPU/build suite and passes with libclang 22. The GPU archive selection excludes only that compiler-dependent test. In the CI CUDA 13.3.0 image without libclang, the original selection fails and the corrected selection passes all 16 runtime tests. The combined branch passes five #1452 shape unit tests and three GPU regressions. Fresh CI is requested.

Validation at 54be19d98: 17 binding tests and 50 core library tests pass after integrating #1684. The previous refresh aligned six SIMT example rustc-hash pins to 2.1.3; their locked resolutions and the exact example consistency gate pass. Shared host/Tile code and lockfiles are unchanged; CI has restarted. Source validation covers Tile checks, 108 SIMT host tests, codegen/frontend checks, all 263 changed lockfiles, and dependency policy checks. Before #1684, all 17 tensor-view tests, six float-operation tests, and eight benchmark smoke runs passed on RTX 5090 / CUDA 13.3. Formatting, shell syntax, CI image pins, and diff checks pass. #1634 is now integrated, so the benchmark runner no longer requires a temporary argument correction. Fresh CI is requested on the current integration head.

Deferred beyond v0.5.0:

#1476 / NVIDIA/cuda-gdb#29 is not a v0.5.0 release requirement or blocker. That PR changes NVIDIA's debugger so a breakpoint on an inlined helper call stops before the helper runs instead of sliding to the next statement. It is still open; the proposed fix has not been merged into a public CUDA Toolkit release. Per Melih's release-scope decision, remove #1476 from the v0.5.0 milestone and track it separately until a public toolkit contains the fix. Leave the issue open. The CUDA 13.4 tileiras regression above is a separate compiler issue.

Prompt to forward after merge and release-branch inclusion:

On the actual release/v0.5.x candidate, add regression tests and validate profiling/debugging with CTK 13.5. Record the commit, toolkit/debugger versions, GPU and driver. Cover cuTile Line/Full/None modes and runtime overrides; Rust source correlation in Nsight Compute; generated constants, entry wrappers, arrays/reductions and nested cross-file inline helpers; CUDA-GDB breakpoints/stepping and assertion/GPU-coredump line/frame attribution. Map results to the remaining sub-issues in #1379/#1475 and add CPU/serialized-IR, assembler or GPU tests as appropriate. Investigate failures rather than extending the 13.4.59/13.4.92 exception. Use the debugger shipped with CTK 13.5; do not require NVIDIA/cuda-gdb#29 or a later toolkit. Report what is supported, what remains broken, and minimal reproducers for backend failures.

Historical test-design follow-up: #1604 once exceeded a wall-clock drop threshold, then passed on an identical tree without relaxing the assertion. #1680 tracks wall-clock correctness assertions and sleep-based concurrency coordination across host, Tile, and SIMT tests. It remains separate follow-up work. #1516, #1603, and #1604 are all merged; use the current candidate SHA above for integration status.

Final acceptance refresh: candidate d2c8120bf records the accepted main ancestry and removes a duplicate changelog note; its entire file tree matches main. The previous integration head e16b73a9c failed the unchanged drop-timing assertion (200.853427 ms vs 100 ms), tracked under #1680. The exact test passed 30/30 isolated local runs on the final candidate; this does not diagnose the CI failure. No assertion was relaxed or skipped. Fresh CI has been requested.

Final CI result (2026-10-31 UTC): #1613 at d2c8120bf35ebb1fa1e6b9bb0b240f425a6fa91b passed all 76 applicable checks, including Rust CodeQL and the full GPU suite; the only skipped job is deployment. The previously failing drop-timing test passed unchanged in GPU CI. No additional code changes were needed. The exact SWQA candidate SHA is unchanged. #1613 remains draft pending SWQA retest/sign-off; actual release-branch inclusion and its reminder remain pending.

Metadata

Metadata

Assignees

No one assigned

    Labels

    cutile-rsTile programming model: cutile crates, compiler, macros, IR, kernels, and bookdebug infoDebug information in generated PTX/IR (line/source maps)trackingUmbrella tracking issue

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions