[Comgr][hotswap] Add wave projection + ISA profile + abi/wave-mask docs#2518
Open
tgymnich wants to merge 1 commit into
Open
Conversation
Author
This was referenced May 13, 2026
35108c8 to
d5577b3
Compare
6e6f193 to
4d23bed
Compare
d5577b3 to
5d470dd
Compare
4d23bed to
f434f7f
Compare
5d470dd to
a006842
Compare
This was referenced May 15, 2026
f434f7f to
5b815e6
Compare
a006842 to
fbda441
Compare
5b815e6 to
634765b
Compare
fbda441 to
dcbd299
Compare
634765b to
a32b336
Compare
dcbd299 to
a3e1f92
Compare
a32b336 to
5249422
Compare
a3e1f92 to
b30be20
Compare
5249422 to
eac9fc5
Compare
b30be20 to
d303c65
Compare
eac9fc5 to
c1bbdbf
Compare
b8a59da to
716a86f
Compare
c1bbdbf to
36b17dd
Compare
* wave_projection.{h,cpp} — `WaveProjection` interface + the three
concrete projections (`ThreadLoopProjection`,
`WaveNativeProjection`, `ModuloReplicationProjection`) the raiser
selects between to bridge wave32 -> wave64 cross-widening. Also
holds the `instructionWritesEXEC` predicate and the per-projection
`emitLaneActiveBit` helper handlers consume.
* isa_profile.h — `ISAProfile` snapshots the wave-direction-relevant
capability bits (wave size, AGPRs/MFMA, VOPD, FP8 conversion,
gfx950 MAI, gfx1250 TENSOR ops, ...) for a given subtarget.
`WaveProjection` consumes source/target `ISAProfile`s to pick the
correct projection policy.
* docs/abi-translation.md — wave32 <-> wave64 ABI translation
contract (kernarg layout, user-SGPR seeding, scratch / private
segment, hidden args).
* docs/sgpr-wave-mask-translation.md — SGPR-as-wave-mask handling
rules referenced by handle_valu_vcmp.cpp (lands later).
Co-Authored-By: Tim Gymnich <tim@gymni.ch>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
716a86f to
bb73f44
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
WaveProjectioninterface + the threeconcrete projections (
ThreadLoopProjection,WaveNativeProjection,ModuloReplicationProjection) the raiserselects between to bridge wave32 -> wave64 cross-widening. Also
holds the
instructionWritesEXECpredicate and the per-projectionemitLaneActiveBithelper handlers consume.ISAProfilesnapshots the wave-direction-relevantcapability bits (wave size, AGPRs/MFMA, VOPD, FP8 conversion,
gfx950 MAI, gfx1250 TENSOR ops, ...) for a given subtarget.
WaveProjectionconsumes source/targetISAProfiles to pick thecorrect projection policy.
contract (kernarg layout, user-SGPR seeding, scratch / private
segment, hidden args).
rules referenced by handle_valu_vcmp.cpp (lands later).