-
Notifications
You must be signed in to change notification settings - Fork 30
Support peer access DPC++ extension #2077
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
Conversation
da9f596
to
20e80f1
Compare
Deleted rendered PR docs from intelpython.github.com/dpctl, latest should be updated shortly. 🤞 |
Array API standard conformance tests for dpctl=0.20.0dev0=py310h93fe807_194 ran successfully. |
Array API standard conformance tests for dpctl=0.20.0dev0=py310h93fe807_194 ran successfully. |
libsyclinterface/include/syclinterface/dpctl_sycl_device_interface.h
Outdated
Show resolved
Hide resolved
libsyclinterface/include/syclinterface/dpctl_sycl_device_interface.h
Outdated
Show resolved
Hide resolved
only implemented for backends HIP, CUDA, Level Zero. Validation prevents crashes
Peer device docstrings link to related methods and docs on peer access extension Slips in fixes to other docstrings for SyclDevice methods
More user-readable
20e80f1
to
a21d585
Compare
Array API standard conformance tests for dpctl=0.20.0dev0=py310h93fe807_199 ran successfully. |
Array API standard conformance tests for dpctl=0.20.0dev0=py310h93fe807_200 ran successfully. |
Array API standard conformance tests for dpctl=0.20.0dev0=py310h93fe807_201 ran successfully. |
Noting here that for future reference, we will probably need to document how this extension interacts with sub-devices and composite devices. For example, per composite device documentation
this means that while the peer access methods will work between composite device and its component devices, and vice versa, to actually leverage it, the user needs to explicitly construct a context containing component and composite devices. |
also make peer access invalid when the device and peer device are the same
Array API standard conformance tests for dpctl=0.20.0dev0=py310h93fe807_203 ran successfully. |
04c424b
to
5a92522
Compare
031cff1
to
629a4b4
Compare
Array API standard conformance tests for dpctl=0.20.0dev0=py310h93fe807_213 ran successfully. |
Array API standard conformance tests for dpctl=0.20.0dev0=py310h93fe807_216 ran successfully. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @ndgrigorian, no more comments from me
Array API standard conformance tests for dpctl=0.20.0dev0=py310h93fe807_220 ran successfully. |
85bcb7d
to
56bd37f
Compare
@antonwolfy Take a look, it should have overall small impact on the implementation. |
Array API standard conformance tests for dpctl=0.20.0dev0=py310h93fe807_220 ran successfully. |
Array API standard conformance tests for dpctl=0.20.0dev0=py310h93fe807_221 ran successfully. |
Array API standard conformance tests for dpctl=0.20.0dev0=py310h93fe807_222 ran successfully. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In overall LGTM, few small comments which might be address separately.
Addressing other comments in follow-up |
This PR adds full support for the DPC++
sycl_ext_oneapi_peer_access
extensionThis adds a Python interface to calls that check if a
dpctl.SyclDevice
can enable peer access to anotherdpctl.SyclDevice
and, if so, to enable or disable it.