Repository navigation
Conversation
Signed-off-by: Melih Elibol <elibol@users.noreply.github.com>
|
Reviewing this against the entry-wrapper and wrapper-generated-assumption items in #1475. The existing regression checks the wrapper's origin, outer inline caller, assumptions, and serialized subprogram declaration; the documented live kernel-entry stop is also the right end-to-end evidence. The remaining test gap is optimized line-info mode: please run the provenance regression for both Retain the exact nested cross-file helper file/line/caller-chain regression and the live entry-address breakpoint check when rebasing. A generated setup instruction should map to the user signature while helper instructions retain their own locations. Generated constants have their separate scope in #1385, so this PR need not eliminate every module-header row by itself. This covers two portions of #1475; it should not close the whole audit, #1476's debugger resolver issue, or #1379's assertion-trap/coredump attribution. Also, #1480 is still open; the earlier issue comment saying it had landed is premature. |
…odes Integrate current main, resolve the changelog conflict, and verify exact nested helper chains and entry-instruction cubin locations in both modes. Run the assembler regression in CPU CI. Signed-off-by: Melih Elibol <1884921+elibol@users.noreply.github.com>
|
/ok to test 899e14b |
|
Pushed All 11 debug tests pass locally on CUDA 13.3, including GPU execution and live CUDA-GDB. Restoring the unchanged main wrapper generator makes both new wrapper regressions fail. Formatting passes. Updated CUDA 13.2/13.4 Tile CI, build and semver checks pass; Rust CodeQL is still running. This covers the entry-wrapper/assumption part of #1475. The separate 13.4 inline-frame loss reported on #1385 also reproduces with the pre-existing optional inline-debug test here; the entry-signature test itself passes. Release tracking: #1606. |
Generated entry setup currently inherits
Span::call_site(), so CUDA-GDB attributes the wrapper and its generated assumptions to the module header. Use the original user function's signature span for the synthesized wrapper, including its call into the user kernel. The original kernel body and nested helper locations remain unchanged.The regression checks wrapper operations and assumptions, the outer caller in inline chains, and the serialized entry subprogram's declaration line. Constants compiled from synthesized types are explicitly outside this change; their separate span work remains under #1379 / #1385.
Validation:
debug_infotests pass, including realtileiras/nvdisasmchecks, execution in all debug modes, and the live cuda-gdb cross-file helper test.cargo clippy --locked -p cutile-compiler --lib -- -D warningspass.scripts/run_all.sh: CPU/assembler tests, 26 supported examples, and all eight benchmark smoke tests passed. One example was skipped because it requires Tile IR 13.4 and the installed assembler is 13.3. All GPU targets passed except one existing test-order dependency inwarmup_suite; the whole 16-test cache suite passes serially on this branch. The script therefore returned nonzero for that unrelated cache test.The unrelated cache failure is reproducible on unchanged base
bafffe45662a5cdc064a1c6674c6c02d466a58e0:retain_predicate_may_reenter_the_cache_without_deadlockleaves the same specialization cached, whilecomposed_builder_compile_terminal_warms_the_dispatched_specializationexpects its compile count to increase by one. Running the baseline test binary withRUSTC_BOOTSTRAP=1 <warmup_suite-binary> warmup_composed:: -Z unstable-options --shuffle-seed 3 --test-threads 1reproduces that assertion. This setting only enables the test harness's shuffle option; it does not rebuild or change the pinned toolchain.For benchmark validation, the existing runner drops its bare
smoke-testargument. For this run, its invocation was temporarily corrected to--features smoke-testso all eight benchmarks used the intended smoke configuration. The runner was restored afterward; that correction is not part of the PR.Part of #1475. The inline call-line breakpoint resolver is addressed separately by NVIDIA/cuda-gdb#29. The generated assertion trap's backend source attribution remains under #1379.