Skip to content

Conversation

@Chao1Han
Copy link
Contributor

No description provided.

Copilot AI review requested due to automatic review settings November 26, 2025 07:10
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds ISHMEM (Intel Shared Memory) support as an alternative backend for XPU symmetric memory operations alongside the existing XPU backend. The implementation provides memory allocation, rendezvous operations, and barrier synchronization using the ISHMEM library for Intel XPU devices.

Key Changes

  • Added ISHMEM-based symmetric memory allocator and implementation classes
  • Created CMake configuration to conditionally link ISHMEM library when available
  • Added utility classes for IPC channel communication and store-based coordination

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/xccl/XPUSymmetricMemoryUtils.hpp Introduces utility classes (IpcChannel, StoreExchange) and backend selection function for XPU symmetric memory
src/xccl/ISHMEMSymmetricMemory.cpp Implements ISHMEM-based symmetric memory allocator and memory management classes
src/BuildOnLinux.cmake Conditionally links ISHMEM library when enabled
cmake/Modules/FindISHMEM.cmake CMake module to locate ISHMEM installation
cmake/ISHMEM.cmake Sets up ISHMEM as an imported CMake target
CMakeLists.txt Integrates ISHMEM configuration into the build system

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

if (val.has_value()) {
TORCH_CHECK(
val.value() == "XPU" || val.value() == "ISHMEM",
"TORCH_SYMMMEM environment variable must be one of 'XPU', 'ISHMEM'.")
Copy link

Copilot AI Nov 26, 2025

Choose a reason for hiding this comment

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

Missing semicolon at the end of the TORCH_CHECK statement on line 21.

Suggested change
"TORCH_SYMMMEM environment variable must be one of 'XPU', 'ISHMEM'.")
"TORCH_SYMMMEM environment variable must be one of 'XPU', 'ISHMEM'.");

Copilot uses AI. Check for mistakes.

include(${TORCH_XPU_OPS_ROOT}/cmake/SYCL.cmake)
include(${TORCH_XPU_OPS_ROOT}/cmake/ONEMKL.cmake)
include(${TORCH_XPU_OPS_ROOT}/cmake/BuildFlags.cmake)
Copy link

Copilot AI Nov 26, 2025

Choose a reason for hiding this comment

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

The removal of set_build_flags() call appears unrelated to ISHMEM support. This should either be restored or explained in the PR description as an intentional refactoring.

Suggested change
include(${TORCH_XPU_OPS_ROOT}/cmake/BuildFlags.cmake)
include(${TORCH_XPU_OPS_ROOT}/cmake/BuildFlags.cmake)
set_build_flags()

Copilot uses AI. Check for mistakes.
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.

2 participants