-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL][L0] Implement pi_device and pi_platform cache #2227
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
Signed-off-by: Byoungro So <[email protected]>
added piPlatformRelease to invalidate platforms when platform_impl is deallocated. Signed-off-by: Byoungro So <[email protected]>
Signed-off-by: Byoungro So <[email protected]>
Signed-off-by: Byoungro So <[email protected]>
Signed-off-by: Byoungro So <[email protected]>
added piPlatformRelease to invalidate platforms when platform_impl is deallocated. Signed-off-by: Byoungro So <[email protected]>
Signed-off-by: Byoungro So <[email protected]>
Signed-off-by: Byoungro So <[email protected]>
Signed-off-by: Byoungro So <[email protected]>
Signed-off-by: Byoungro So <[email protected]>
@smaslov-intel please review. Thanks. |
Signed-off-by: Byoungro So <[email protected]>
Signed-off-by: Byoungro So <[email protected]>
@bader @DoyleLi Again the failure in barrier.cpp already occurs in the sycl branch. |
Signed-off-by: Byoungro So <[email protected]>
@smaslov-intel , I accommodated your feedback and revised the PR. please review. Thanks |
Signed-off-by: Byoungro So <[email protected]>
also, reverted device_imple destructor change because it caused bugs. Signed-off-by: Byoungro So <[email protected]>
Signed-off-by: Byoungro So <[email protected]>
@smaslov-intel I have accommodated your feedback. Please review. |
Signed-off-by: Byoungro So <[email protected]>
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.
Changes in device_impl.cpp looks good.
Signed-off-by: Byoungro So <[email protected]>
Signed-off-by: Byoungro So <[email protected]>
Signed-off-by: Byoungro So <[email protected]>
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.
Approved, given the 2 remaining minor things are going to be addressed.
Signed-off-by: Byoungro So <[email protected]>
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 still OK with changes in device_impl.cpp
Handle INVALID_VALUE in OCL urPlatformGet
The current implementation piDevicesGet and piPlatformsGet always create new pi_device and pi_platform object even if the low-level ze_handles are the same.
This makes SYCL RT difficult to determine whether sycl::device is the same.
Same issue applies to sycl::platform.
By implementing cache, it can avoid calling expensive L0 RT and return the saved pi_device and pi_platform from the cache.
This should help remove the memory leak and improve the overall performance of plugins.