Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mhp basic ISHMEM integration #631

Open
lslusarczyk opened this issue Nov 7, 2023 · 0 comments
Open

mhp basic ISHMEM integration #631

lslusarczyk opened this issue Nov 7, 2023 · 0 comments
Assignees

Comments

@lslusarczyk
Copy link
Contributor

lslusarczyk commented Nov 7, 2023

Summary

ISHMEM based multi process communication basic primitives as a backend for Distributed-Ranges.

Feature details

Intel® SHMEM is a C++ software library interface that enables OpenSHMEM communication for applications using Intel® Data Center GPU Max Series devices with device kernels implemented in SYCL. Intel® SHMEM includes both host-initiated operations as in OpenSHMEM, and new device-initiated operations callable directly from GPU kernels.

ISHMEM backend allows to write programs in SPMD way like MPI backend does. Data structures are automatically distributed on multiple nodes using symmetric allocation. Data structures constructors and algorithms are collective.

Provide an ISHMEM backend (communication primitives implemented using MPI) which can be used as a backend for

  • distributed_vector
  • basic algorithms: for_each, copy, fill, transform
  • basic Distributed Range Views: take, drop, counted, enumerate, transform

ISHMEM Communicatin primitives should support:

  • copy to/from local and Distributed Range
  • implementing a distributed range remote reference, which is exposed as [index]
  • halo exchange in distributed_vector

References

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🏗 In progress
Development

No branches or pull requests

1 participant