Skip to content

[rocjitsu] Model gfx1250 SRAM ECC semantics for D16 loads - #10445

Merged
kuhar merged 2 commits into
ROCm:developfrom
newling:fix/gfx1250-sram-ecc-d16-tail-loads
Aug 20, 2026
Merged

kuhar merged 2 commits into
ROCm:developfrom
newling:fix/gfx1250-sram-ecc-d16-tail-loads

Conversation

@newling

@newling newling commented Aug 19, 2026 •

Copy link
Copy Markdown
Contributor

gfx1250 does support SRAM ECC:

Correcting this in rocJITsu fixes a numerical failure in an i8 hipBLASLt
GEMM.

All of the agent-generated details, including the exact workload, provenance,
commands, deterministic before/after results, and instruction-level
regression, can be found here:

https://gist.github.com/newling/038f6eb6fc9dfb9c53437a5791a26301

Issue Tracking

Related: #9935

@therock-pr-bot

therock-pr-bot Bot commented Aug 19, 2026 •

Copy link
Copy Markdown

✅ All Checks Passed — Ready for Review

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ✅ Pass —
🔎 pre-commit ✅ Pass —
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —
🤖 therock-pr-bot ✅ Pass —

🎉 All checks passed! This PR is ready for review.

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

🙋 Wish to Override Policy?

@therock-pr-bot

Copy link
Copy Markdown

🎉 All checks passed! This PR is ready for review.

@newling
newling marked this pull request as ready for review August 20, 2026 00:22
@newling
newling requested review from a team and atgutier as code owners August 20, 2026 00:22

@kuhar kuhar left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few comments

@newling
newling force-pushed the fix/gfx1250-sram-ecc-d16-tail-loads branch from 23e99ab to 5c22619 Compare August 20, 2026 14:56
@newling

newling commented Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

Failure in tsan looks like an intermittent unrelated to this PR. I need to rebase anyway to resolve conflicts, so am going to just do that.

btw @kuhar I think I've fully addressed your comments. I would also like to confirm we have the correct setting the architectures other than cdna5, but will do that as a follow up.

@newling
newling force-pushed the fix/gfx1250-sram-ecc-d16-tail-loads branch from 5c22619 to 4d9fe48 Compare August 20, 2026 15:24

@kuhar kuhar left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM % one reply here #10445 (comment)

@newling
newling force-pushed the fix/gfx1250-sram-ecc-d16-tail-loads branch from 4d9fe48 to 47794b7 Compare August 20, 2026 16:51
@newling
newling force-pushed the fix/gfx1250-sram-ecc-d16-tail-loads branch from 47794b7 to 7e2bd6f Compare August 20, 2026 17:10
@kuhar
kuhar merged commit 75890fd into ROCm:develop Aug 20, 2026
49 of 51 checks passed
cmcknigh pushed a commit that referenced this pull request Aug 25, 2026
gfx1250 does support SRAM ECC:

- LLVM's `GFX1250` processor model enables `FEATURE_SRAMECC`:

https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AMDGPU/GCNProcessors.td
- The AMD Instinct CDNA5 ISA specifies that, on chips with ECC, D16 and
D16_HI loads write the full 32-bit VGPR and fill the unused portion with
  zero:
  https://docs.amd.com/api/khub/documents/YblmXrYRcxw2GO7d0No8Lw/content

Correcting this in rocJITsu fixes a numerical failure in an i8 hipBLASLt
GEMM.

All of the agent-generated details, including the exact workload,
provenance,
commands, deterministic before/after results, and instruction-level
regression, can be found here:

https://gist.github.com/newling/038f6eb6fc9dfb9c53437a5791a26301

## Issue Tracking

Related: #9935
ajanicijamd pushed a commit that referenced this pull request Aug 25, 2026
gfx1250 does support SRAM ECC:

- LLVM's `GFX1250` processor model enables `FEATURE_SRAMECC`:

https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AMDGPU/GCNProcessors.td
- The AMD Instinct CDNA5 ISA specifies that, on chips with ECC, D16 and
D16_HI loads write the full 32-bit VGPR and fill the unused portion with
  zero:
  https://docs.amd.com/api/khub/documents/YblmXrYRcxw2GO7d0No8Lw/content

Correcting this in rocJITsu fixes a numerical failure in an i8 hipBLASLt
GEMM.

All of the agent-generated details, including the exact workload,
provenance,
commands, deterministic before/after results, and instruction-level
regression, can be found here:

https://gist.github.com/newling/038f6eb6fc9dfb9c53437a5791a26301

## Issue Tracking

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants