-
Notifications
You must be signed in to change notification settings - Fork 124
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
[EXP][usm p2p] Add test for ur_exp_usm_p2p and impl for hip #1369
[EXP][usm p2p] Add test for ur_exp_usm_p2p and impl for hip #1369
Conversation
Uses the latest non deprecated hip APIs. fully tested and passing via DPC++ using Crusher. Signed-off-by: JackAKirk <[email protected]>
Signed-off-by: JackAKirk <[email protected]>
Signed-off-by: JackAKirk <[email protected]>
These changes will be made in separate PRs. Signed-off-by: JackAKirk <[email protected]>
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #1369 +/- ##
==========================================
- Coverage 14.82% 12.48% -2.34%
==========================================
Files 250 240 -10
Lines 36220 36023 -197
Branches 4094 4086 -8
==========================================
- Hits 5369 4498 -871
- Misses 30800 31521 +721
+ Partials 51 4 -47 ☔ View full report in Codecov by Sentry. |
include/ur_api.h
Outdated
@@ -8885,6 +8885,13 @@ urUSMReleaseExp( | |||
#if !defined(__GNUC__) | |||
#pragma region usm p2p(experimental) | |||
#endif | |||
/////////////////////////////////////////////////////////////////////////////// | |||
#ifndef UR_USM_P2P_EXTENSION_STRING_EXP | |||
/// @brief The extension string which defines support for USM P2P which is |
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.
I'd replace one of the twowhich
s with that
.
This experimental extension to the Unified-Runtime API aims to provide a | ||
portable interface that can call appropriate driver functions to query and | ||
control peer memory access within different adapters such as CUDA, HIP and | ||
Level Zero. | ||
|
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.
Minor change to above that you may simply ignore
Programming models like SYCL or OpenMP aim to support several important projects that utilise fine-grained peer-to-peer memory access controls. This experimental extension to the Unified-Runtime API aims to offer a portable interface capable of invoking relevant driver functions to query about and control peer memory access across various adapters, including CUDA, HIP, and Level Zero.
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.
I'll switch the first sentence, I think this is an improvement. I think the second one is not as good as the original though.
nullptr)); | ||
|
||
std::string_view extensions_string(returned_extensions.get()); | ||
bool usm_p2p_support = |
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.
const bool usm_p2p_support
+===========+=============================================+ | ||
| 1.0 | Initial Draft | | ||
+-----------+---------------------------------------------+ | ||
| 1.1 | Added USM_P2P_EXTENSION_STRING_EXP ID Macro | |
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.
not sure if that should be revision 2.0
?
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.
I'm following other extensions that iterate through 1.1,1.2 etc. This is a minor change to the spec.
Please merge in the main branch so we have up to date test runs, it should also have an intel/llvm PR for testing. |
I didn't add a intel/llvm PR for testing here because it doesn't affect any intel/llvm code at all. The only code anywhere that this uses is in the test that is added. |
Allow device extension queries for USM P2P support. Signed-off-by: JackAKirk <[email protected]>
Signed-off-by: JackAKirk <[email protected]>
Signed-off-by: JackAKirk <[email protected]>
Signed-off-by: JackAKirk <[email protected]>
Signed-off-by: JackAKirk <[email protected]>
Signed-off-by: JackAKirk <[email protected]>
Signed-off-by: JackAKirk <[email protected]>
Signed-off-by: JackAKirk <[email protected]>
79e2205
to
bcb0215
Compare
This PR matches the precedent set in #1089 for experimental extension conformance testing.