Skip to content

[comgr][hotswap] scale hotswap rewrites for large code objects (amd-staging companion)#3374

Merged
ronlieb merged 2 commits into
amd-stagingfrom
users/harsh/comgr-hotswap-large-objects
Jul 15, 2026
Merged

[comgr][hotswap] scale hotswap rewrites for large code objects (amd-staging companion)#3374
ronlieb merged 2 commits into
amd-stagingfrom
users/harsh/comgr-hotswap-large-objects

Conversation

@harsh-amd

@harsh-amd harsh-amd commented Jul 14, 2026

Copy link
Copy Markdown

Purpose

Direct-to-amd-staging companion for the focused stacked review in #3348.

This PR exists so the full amd-staging CI workflows evaluate the cumulative
remaining stack through #3348. #3345 and #3346 are already merged. Please use #3348 for
review of the large-object scaling patch itself; its base is #3347 so that
focused diff contains only one stack entry.

Included stack

This companion should not merge before #3347. When #3347 lands in
amd-staging, GitHub will reduce this PR to the remaining focused change.

Local validation

  • rebased onto current amd-staging after [comgr][hotswap] make gfx1250 semantic rewrites fail-safe #3346 was squash-merged
  • git range-diff confirms every reviewed patch is unchanged, and the old and
    rebased amd/comgr trees are identical
  • git-clang-format --diff is clean; both rewritten formatter checks pass in CI
  • release check-comgr at the final rebased stack tip: all unit tests, 97/97
    supported LIT tests (11 unsupported), and 31/31 CTests passed
  • ASan at the final rebased stack tip: all unit tests and 97/97 supported LIT
    tests passed

Resolved external CI issue

The previous Linux::release / Build failure occurred after LLVM and COMGR
built successfully, in the separately checked-out rocm-systems develop
branch while compiling libhsakmt: _GNU_SOURCE was defined after system
headers, leaving secure_getenv undeclared. The approved upstream fix is
ROCm/rocm-systems#8555, which has now merged. No llvm-project source change was
needed; the newly triggered Linux job includes that upstream fix.

@github-actions github-actions Bot added comgr Related to Code Object Manager hotswap Related to the Comgr Hotswap feature labels Jul 14, 2026
@harsh-amd
harsh-amd force-pushed the users/harsh/comgr-hotswap-large-objects branch 2 times, most recently from 5f77163 to fae9307 Compare July 14, 2026 19:30
@harsh-amd
harsh-amd requested a review from ronlieb July 14, 2026 21:04
@harsh-amd
harsh-amd enabled auto-merge (squash) July 14, 2026 21:17
@harsh-amd
harsh-amd disabled auto-merge July 14, 2026 21:17
@harsh-amd
harsh-amd enabled auto-merge (rebase) July 14, 2026 21:22
@harsh-amd
harsh-amd disabled auto-merge July 14, 2026 21:23
Route far trampoline edges through SCC-aware set-PC sequences, allocate safe SGPR scratch, coalesce adjacent sites, and synthesize forward branch islands. Add LIT coverage for DS, WMMA, device-function, and island cases plus MC unit coverage that verifies no s_add_pc_i64 return edge is emitted.
Cache ELF metadata, function ranges, descriptor lookups, and SGPR usage; track queued trampoline bytes incrementally so multi-megabyte objects avoid repeated full scans. Extend the large branch-island LIT fixture and ELF/MC unit coverage for cache coherence and layout accounting.
@harsh-amd
harsh-amd force-pushed the users/harsh/comgr-hotswap-large-objects branch from fae9307 to 67ad8fc Compare July 14, 2026 21:32
@harsh-amd
harsh-amd enabled auto-merge (rebase) July 14, 2026 22:16
@ronlieb
ronlieb disabled auto-merge July 15, 2026 00:55
@ronlieb
ronlieb merged commit 7f18c01 into amd-staging Jul 15, 2026
34 checks passed
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 mi455

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants