Skip to content

[SIMT][OPT] Add persistent SIMT fragment materialization#978

Open
KurrinQu wants to merge 1 commit into
hw-native-sys:mainfrom
KurrinQu:qkl/ptoas-persistent-simt-fragment-design
Open

[SIMT][OPT] Add persistent SIMT fragment materialization#978
KurrinQu wants to merge 1 commit into
hw-native-sys:mainfrom
KurrinQu:qkl/ptoas-persistent-simt-fragment-design

Conversation

@KurrinQu

Copy link
Copy Markdown
Collaborator

Summary

Add PTOAS support for keeping SIMT fragment values in dedicated register
slots across multiple inline SIMT sections.

The transformation replaces repeated UB-to-register loads with explicit
pto.keep / pto.resume traffic while preserving the existing VPTO lowering
and outlining flow.

Changes

  • Add a read-only persistent-fragment analysis pass.
  • Add the persistent-fragment materialization pass.
  • Keep inline SIMT sections until persistent-fragment materialization completes,
    then outline them into pto.simt_entry helpers and pto.simt_launch calls.
  • Add positive and negative lit coverage for access normalization, slot
    assignment, vector accesses, control-flow contracts, invalid offsets,
    launch-dimension mismatches, and slot-budget violations.

@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.

@KurrinQu
KurrinQu force-pushed the qkl/ptoas-persistent-simt-fragment-design branch 3 times, most recently from 32c5c72 to ac8fe5f Compare July 23, 2026 03:46
@KurrinQu
KurrinQu force-pushed the qkl/ptoas-persistent-simt-fragment-design branch from ac8fe5f to 1948788 Compare July 23, 2026 18:28
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.

1 participant