Skip to content

feat(lower-tirx): align NVIDIA IKET profiling with the official ABI - #20085

Open
spectrometerHBH wants to merge 2 commits into
apache:mainfrom
spectrometerHBH:agent/official-iket-profiling
Open

feat(lower-tirx): align NVIDIA IKET profiling with the official ABI#20085
spectrometerHBH wants to merge 2 commits into
apache:mainfrom
spectrometerHBH:agent/official-iket-profiling

Conversation

@spectrometerHBH

@spectrometerHBH spectrometerHBH commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • lock NVIDIA official IKET integration to the CUTLASS DSL 4.6.0 and NVRTC 13.2 contract
  • add scalar payload support for marks, token ranges, and stack ranges in NativeDump and ExtendedNativeDump modes
  • generate deterministic module-wide metadata, event IDs, payload helpers, and official placeholder instructions
  • enable IKET lowering automatically only in validated run-iket child processes
  • keep LowerIket focused on ABI/schema validation and mechanical IR rewriting by removing token-lifetime, stack-balance, and warp-convergence proofs
  • refresh the official oracle and metadata, PTX/SASS, orchestration, and trace-contract coverage

Motivation

The previous lowering covered only no-payload NativeDump instrumentation and attempted to prove runtime control-flow properties that are the caller's and IKET runtime's responsibility. Those analyses could reject valid programs or produce advisory diagnostics without improving the determinism of metadata encoding.

This change aligns the frontend and lowering with the locked official ABI, including payload layouts and ExtendedNativeDump IDs, while retaining compile-time checks required to encode declarations and records safely.

Impact

IKET users can attach supported scalar payloads to marks and range endpoints. Validated injected children can use ordinary TIRx JIT compilation while normal compilation continues to strip frontend-only annotations. Event-name, intrinsic, payload-type, RangeToken, schema, architecture, declaration-count, and metadata-conflict checks remain enforced; range lifetime, push/pop balance, and warp convergence are left to callers and the runtime.

Validation

  • CPATH=/usr/local/cuda/targets/x86_64-linux/include/cccl cmake --build build --parallel
  • python -m pytest tests/python/tirx/iket/test_iket_profiler.py tests/python/tirx/iket/test_iket_orchestration.py -q (68 passed, 2 skipped)
  • paired tirx-kernels/tests/test_megakernel_iket.py canary (9 passed, 1 skipped)
  • pre-commit run --from-ref upstream/main --to-ref HEAD
  • git diff --check upstream/main...HEAD

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

Lock the official integration to CUTLASS DSL 4.6.0 with NVRTC 13.2 and refresh its oracle.

Report unproven warp convergence as an advisory warning and handle nested loop control independently.
Implement payload-aware NativeDump and ExtendedNativeDump metadata and event lowering from the locked CUTLASS 4.6.0 oracle.

Enable lowering only for validated injected children and keep the pass focused on ABI validation and mechanical IR rewriting without token lifetime, stack balance, or warp convergence proofs.
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@spectrometerHBH

Copy link
Copy Markdown
Contributor Author

@tvm-bot rerun

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants