Skip to content

[SYCL][L0] Implement Plugin Lifetime Management #2942

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

Merged
merged 29 commits into from
Dec 30, 2020

Conversation

bso-intel
Copy link
Contributor

This PR implements the Sycl Lifetime management.
It allows Sycl RT to init / deinit plguins many times.
It also provide opportunity to manage global variables used in plugin PIs.

Signed-off-by: Byoungro So [email protected]

This PR implements the Sycl Lifetime management.
It allows Sycl RT to init / deinit plguins many times.
It also provide opportunity to manage global variables used in plugin PIs.

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]>
@bso-intel bso-intel marked this pull request as ready for review December 23, 2020 16:50
@bso-intel bso-intel requested review from smaslov-intel and a team as code owners December 23, 2020 16:50
@bso-intel
Copy link
Contributor Author

@smaslov-intel @romanovvlad @alexbatashev
Please review.
Please note that this PR is not intended to fix all remaining memory leaks yet.
This is a required step to fix the other memory leaks.

Copy link
Contributor

@alexbatashev alexbatashev left a comment

Choose a reason for hiding this comment

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

Would be great to have some testing and a brief design overview here: https://github.com/intel/llvm/blob/sycl/sycl/doc/GlobalObjectsInRuntime.md

@bso-intel
Copy link
Contributor Author

Would be great to have some testing and a brief design overview here: https://github.com/intel/llvm/blob/sycl/sycl/doc/GlobalObjectsInRuntime.md

I will write something based on my design doc (ppt) today.

@bso-intel
Copy link
Contributor Author

@smaslov-intel Please review.

plugin. piTearDown() is going to perform any necessary tear-down process at the
plugin PI level. These two APIs allow on-demand plugin lifetime management. SYCL
RT can control the beginning and the end of the plugin.
![](images/plugin-lifetime.jpg)
Copy link
Contributor

Choose a reason for hiding this comment

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

Could you please add arrow with piPluginInit label, which goes from "Plugin Interface" to "Plugin", it should correspond to "bind plugin" arrow?
Also, could you please rename "destory plugin" to piTearDown?

@bso-intel
Copy link
Contributor Author

The failure in Jenkins/Precommit is not caused by my changeset.
It seems the latest change in Jenkins/Precommit introduced this failure.
The latest 'sycl' branch already has this issue.

@romanovvlad romanovvlad merged commit f58c568 into intel:sycl Dec 30, 2020
@bso-intel
Copy link
Contributor Author

Thank you very much, Vlad.

@bso-intel bso-intel deleted the plugin-lifetime branch January 11, 2021 19:37
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.

3 participants