-
Notifications
You must be signed in to change notification settings - Fork 789
[SYCL][COMPAT] Added device extension and manager #10774
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
Co-Authored-By: Gordon Brown <[email protected]> Co-Authored-By: Joe Todd <[email protected]> Co-Authored-By: Pietro Ghiglio <[email protected]> Co-Authored-By: Ruyman Reyes <[email protected]>
e3d16b2
to
7893c62
Compare
- Test suite is now separated from the standard unittests. - Syclcompat needs to run device code, thus they can't be run in the BUILD + LIT action. - As they run Gtests, this is proposed following the sycl/test/Unit lit architecture. This results in a different target to keep existing e2e tests separated from syclcompat. - Dependency of unittests from sycl to sycl-toolchain
7893c62
to
ad16a6e
Compare
This commit reverts the changes introduced in intel#9976 to sycl/unittests. It also removes the gtest suite from syclcompat Rationale: We need device code to test the following syclcompat PRs. Changes: - Removed sycl/cmake/modules/AddSYCLLibraryUnittest.cmake as it was only used here, this has also introduced overhead to people working in the Unittests CI, it is better for them to remove the need to maintain this. - Reverted syclcompat changes in sycl/unittests/CMakeLists.txt - Refactored sycl/unittests/syclcompat to sycl/test-e2e/syclcompat
@bso-intel I think this PR is ready for review. This PR reverts the changes to Cmake, as these files are not used anywhere else in the infrastructure that we are aware of, this should reduce some overhead we caused to the owners of the Unittesting CI actions, as we compiled through a different mechanism. Thank you |
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.
Looks good, just a few suggestions.
- Added const variable: device name buffer size (device_info::NAME_BUFFER_SIZE). - get_major_version and get_minor_version calls follow the same convention as the other get_ functions. - Removed default handler when creating a queue with `print_on_async_exceptions` set to false. - device_fixt: .h -> .hpp - Removed non-existing friend function free_async. - Improved Readme.md with latest changes. - Fixed syclcompat include statement.
Co-authored-by: Gordon Brown <[email protected]>
a93fd05
to
313c8ca
Compare
@intel/llvm-gatekeepers Is it ok to merge this PR? |
Keep in mind that not getting approval from all required groups means only a subset of gatekeepers can merge it. Thanks to @AerialMantis for standing in for the review! |
This is the second PR implementation of SYCLcompat. SYCLcompat primary goals and features are documented here.
The PR includes the code that would implement the wrapper to expose the management of the
sycl::device
,sycl::queue
, andsycl::context
. The exposed functionalities include:print_on_async_exceptions
. Synchronous exceptions have to be managed by users independently of what is set in this parameter.sycl::default_selector_v
) as the default device, and exposes all other devices available on the system through thesyclcompat::select_device
member function.We are open to any suggestions, concerns, or improvements you may have, so please, let us know if you have any.