Skip to content

[Comgr][hotswap] Add raise_cli + lit harness for hotswap-raise fixtures#2552

Open
tgymnich wants to merge 1 commit into
users/tgymnich/hotswap-pr-06-wave-projectionfrom
users/tgymnich/hotswap-pr-07-raise-cli
Open

[Comgr][hotswap] Add raise_cli + lit harness for hotswap-raise fixtures#2552
tgymnich wants to merge 1 commit into
users/tgymnich/hotswap-pr-06-wave-projectionfrom
users/tgymnich/hotswap-pr-07-raise-cli

Conversation

@tgymnich
Copy link
Copy Markdown

Wires up the per-kernel raiser CLI and the lit-harness scaffolding the subsequent handler commits' fixtures consume:

  • test-lit/comgr-sources/raise_cli.cpp — minimal --emit-ir driver that calls raiseToIR directly and dumps the resulting Module to stdout via Module::print. Subsequent commits add the default fork mode (kerneldex coverage) and --write-hsaco mode (full pipeline) once hotswap/pipeline.h lands.
  • test-lit/CMakeLists.txt — gates a new raise_cli target on COMGR_ENABLE_HOTSWAP_TRANSPILE; links hotswap::transpiler plus comgr-metadata.cpp and the just-extracted comgr-target-init.cpp directly so the binary doesn't pull in the rest of the amd_comgr public surface.
  • test-lit/lit.site.cfg.py.in — exposes the COMGR_ENABLE_HOTSWAP_TRANSPILE configure-time value.
  • test-lit/lit.cfg.py — adds comgr-hotswap-transpile REQUIRES feature plus the %llvm_mc, %ld_lld, %not, and %raise_cli substitutions every hotswap-raise/ RUN line uses.
  • test-unit/CMakeLists.txt — comgr_link_hotswap_transpiler helper grows to compile comgr-target-init.cpp into every unit-test binary so ensureLLVMInitialized resolves at link time.
  • src/hotswap/code_object_utils.{h,cpp} — adds the readFile helper raise_cli and (later) the pipeline driver consume to slurp HSACO / IR / asm artefacts off disk; matches the convention of centralising file I/O in the metadata layer.

The raiser stays at its decode-and-bail / IR-scaffold form from the preceding commits. With these in place the lit harness is reachable but every hotswap-raise/ fixture FAILs honestly until the dispatch loop lands at the Wire raiser dispatcher commit.

@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-06-wave-projection branch from 93fa2cd to a827d06 Compare May 15, 2026 12:30
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-07-raise-cli branch from 9d870cf to 1c890b3 Compare May 15, 2026 12:30
@tgymnich tgymnich marked this pull request as ready for review May 15, 2026 12:33
@tgymnich tgymnich requested review from chinmaydd and lamb-j as code owners May 15, 2026 12:33
@tgymnich tgymnich requested review from ftynse and martin-luecke May 15, 2026 12:34
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-07-raise-cli branch from 1c890b3 to c0f8d72 Compare May 15, 2026 12:59
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-06-wave-projection branch from a827d06 to 19af066 Compare May 15, 2026 13:06
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-07-raise-cli branch from c0f8d72 to 6c0848a Compare May 15, 2026 13:06
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-06-wave-projection branch from 19af066 to 0f28b23 Compare May 15, 2026 15:28
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-07-raise-cli branch from 6c0848a to 59bb6f0 Compare May 15, 2026 15:28
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-06-wave-projection branch from 0f28b23 to 426a1be Compare May 15, 2026 16:07
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-07-raise-cli branch from 59bb6f0 to f866401 Compare May 15, 2026 16:07
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-06-wave-projection branch from 426a1be to 268cdab Compare May 15, 2026 16:19
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-07-raise-cli branch from f866401 to c18d88f Compare May 15, 2026 16:19
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-06-wave-projection branch from 268cdab to 9369d97 Compare May 15, 2026 18:55
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-07-raise-cli branch from c18d88f to 904a804 Compare May 15, 2026 18:55
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-06-wave-projection branch from 9369d97 to 3473ede Compare May 15, 2026 20:46
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-07-raise-cli branch 2 times, most recently from 8396a7d to ebecbd0 Compare May 18, 2026 14:38
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-06-wave-projection branch from 3473ede to 3d7dfce Compare May 18, 2026 14:38
Wires up the per-kernel raiser CLI and the lit-harness scaffolding the
subsequent handler commits' fixtures consume:

  * test-lit/comgr-sources/raise_cli.cpp — minimal --emit-ir driver
    that calls `raiseToIR` directly and dumps the resulting Module to
    stdout via `Module::print`. Subsequent commits add the default
    fork mode (kerneldex coverage) and `--write-hsaco` mode (full
    pipeline) once `hotswap/pipeline.h` lands.
  * test-lit/CMakeLists.txt — gates a new `raise_cli` target on
    COMGR_ENABLE_HOTSWAP_TRANSPILE; links `hotswap::transpiler` plus
    `comgr-metadata.cpp` and the just-extracted `comgr-target-init.cpp`
    directly so the binary doesn't pull in the rest of the amd_comgr
    public surface.
  * test-lit/lit.site.cfg.py.in — exposes the
    COMGR_ENABLE_HOTSWAP_TRANSPILE configure-time value.
  * test-lit/lit.cfg.py — adds `comgr-hotswap-transpile` REQUIRES
    feature plus the `%llvm_mc`, `%ld_lld`, `%not`, and `%raise_cli`
    substitutions every hotswap-raise/ RUN line uses.
  * test-unit/CMakeLists.txt — `comgr_link_hotswap_transpiler` helper
    grows to compile `comgr-target-init.cpp` into every unit-test
    binary so `ensureLLVMInitialized` resolves at link time.
  * src/hotswap/code_object_utils.{h,cpp} — adds the `readFile`
    helper raise_cli and (later) the pipeline driver consume to slurp
    HSACO / IR / asm artefacts off disk; matches the convention of
    centralising file I/O in the metadata layer.

The raiser stays at its decode-and-bail / IR-scaffold form from the
preceding commits. With these in place the lit harness is reachable
but every hotswap-raise/ fixture FAILs honestly until the dispatch
loop lands at the `Wire raiser dispatcher` commit.

Co-Authored-By: Tim Gymnich <tim@gymni.ch>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-06-wave-projection branch from 3d7dfce to e404635 Compare May 18, 2026 15:00
@tgymnich tgymnich force-pushed the users/tgymnich/hotswap-pr-07-raise-cli branch from ebecbd0 to 80be9b5 Compare May 18, 2026 15:00
@chinmaydd chinmaydd added comgr Related to Code Object Manager hotswap Related to the Comgr Hotswap feature labels May 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comgr Related to Code Object Manager hotswap Related to the Comgr Hotswap feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants