Skip to content

feat(rocSHMEM): Replace flat instructions with their global counterparts, #AIROCSHMEM-506 - #13490

Merged
amirsojoodi merged 4 commits into
developfrom
users/asojoodi/rocshmem-fix-p-and-g
Oct 23, 2026
Merged

amirsojoodi merged 4 commits into
developfrom
users/asojoodi/rocshmem-fix-p-and-g

Conversation

@amirsojoodi

Copy link
Copy Markdown
Contributor

Motivation

Enable IPC backend to move to global instructions from flat ones.

Technical Details

  • Revert the AsmAccess asm blocks in assembly.hpp from flat instructions back to global
  • memcpy_lane's existing CachePolicy assignment already puts Standard (a plain load/store, not AsmAccess asm) on whichever side of a transfer is local and the asm-backed policy only on the genuinely global remote side, so the flat -> global revert doesn't require bypassing it for scalars.

Issue Tracking

JIRA ID: AIROCSHMEM-506

Test Plan

CI should be green on Functional and Unit tests.

@amirsojoodi
amirsojoodi requested a review from a team as a code owner October 14, 2026 18:46
Copilot AI balanced review requested due to automatic review settings October 14, 2026 18:46
@therock-pr-bot

Copy link
Copy Markdown

✅ All Policy Checks Passed

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ⚠️ Warning Error: Source/code files changed without an accompanying unit test.
Expected: add at least one test file named like test_<name>.py / test_<name>.cpp (or <name>_test.*).
Current: code file(s) changed: projects/rocshmem/src/assembly.hpp, projects/rocshmem/src/util.hpp; no test file found
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —

🎉 All policy checks passed!

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

🙋 Wish to Override Policy?

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

Cross-architecture GPU assembly changes require target-GPU CI validation and final human review.

0 open findings

What changed in this PR

Updates rocSHMEM’s IPC memory-access assembly to use global instructions while preserving plain load/store operations on the local side.

Changes:

  • Replaces flat load/store instructions with global counterparts across architecture-specific implementations.
  • Renames FlatCache to GlobalCache.
  • Documents global-address requirements without changing copy-policy selection.
File Description
projects/​rocshmem/​src/​util.hpp Adds address-requirement comments and adjusts formatting; behavior is unchanged.
projects/​rocshmem/​src/​assembly.hpp Converts assembly instructions, renames the cache policy, and documents address requirements.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@amirsojoodi
amirsojoodi merged commit 9a4fbd2 into develop Oct 23, 2026
103 of 110 checks passed
@amirsojoodi
amirsojoodi deleted the users/asojoodi/rocshmem-fix-p-and-g branch October 23, 2026 22:58
amirsojoodi added a commit that referenced this pull request Oct 26, 2026
…play compliance, #AIROCSHMEM-533 (#13747)

## Motivation

Compiler-generated code handles the required hazard avoidance
automatically, but for hand-written inline assembly the programmer is
responsible to follow the XNACK-Replay rules (group semantics, not
clobbering source registers of in-flight VMEM/SMEM translations, correct
wait instructions, mode-specific hazards for single- vs multi-group
REPLAY_MODE).

## Details

- Supposed to be merged on top of #13490

## Issue Tracking

JIRA ID: AIROCSHMEM-533
@systems-assistant

Copy link
Copy Markdown
Contributor

TheRock Submodule Bump Activity

Newest first

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.

3 participants