Skip to content

fix: replace x86 asm with portable std::atomic_thread_fence - #21

Merged
itej89 merged 1 commit into
feat/ep-rdma-sharingfrom
feat/ep-rdma-sharing-fix-r2-4-asm
Aug 28, 2026
Merged

fix: replace x86 asm with portable std::atomic_thread_fence#21
itej89 merged 1 commit into
feat/ep-rdma-sharingfrom
feat/ep-rdma-sharing-fix-r2-4-asm

Conversation

@itej89

@itej89 itej89 commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Summary

Addresses PR ROCm#558 round-2 review comment R2-4 (blocking).

clflush/sfence are x86-only inline asm and break aarch64 builds. The file proxy_thread.cpp is compiled unconditionally. Additionally, clflush is a no-op on uncached device memory (hipDeviceMallocUncached).

Replace with portable std::atomic_thread_fence(std::memory_order_seq_cst).

Test plan

  • EP benchmark on DO AINIC: Dispatch Pass, Combine Pass
  • Dispatch avg 32.28 GB/s, Combine avg 54.03 GB/s (consistent)

🤖 Generated with Claude Code

clflush/sfence are x86-only and break aarch64 builds. The file is
compiled unconditionally. clflush is also a no-op on uncached device
memory (hipDeviceMallocUncached). Replace with portable
std::atomic_thread_fence(std::memory_order_seq_cst).

Addresses PR ROCm#558 round-2 review comment R2-4.

Co-Authored-By: Claude <noreply@anthropic.com>
@itej89
itej89 merged commit d9bc81f into feat/ep-rdma-sharing Aug 28, 2026
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