-
Notifications
You must be signed in to change notification settings - Fork 796
[SYCL] Drop kernel name type backward compatibility #20713
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
base: sycl
Are you sure you want to change the base?
Conversation
| #ifndef __INTEL_PREVIEW_BREAKING_CHANGES | ||
| /// \return a string containing name of SYCL kernel. | ||
| detail::ABINeutralKernelNameStrT getKernelName(); | ||
| detail::string_view getKernelName(); |
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.
Why aren't you dropping this entire #ifndef?
| std::vector<detail::LocalAccessorImplPtr> MLocalAccStorage; | ||
| std::vector<std::shared_ptr<detail::stream_impl>> MStreamStorage; | ||
| detail::ABINeutralKernelNameStrT MKernelName; | ||
| detail::string_view MKernelName; |
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.
| detail::string_view MKernelName; | |
| // std::string_view ABI differs under `-D_GLIBCXX_USE_CXX11_ABI=0`, | |
| // use our implementation: | |
| detail::string_view MKernelName; |
| // possible. | ||
| #endif | ||
| decltype(auto) KernelName = KernelNameStrRefT{DeviceKernelInfo.Name}; | ||
| decltype(auto) KernelName = std::string_view{DeviceKernelInfo.Name}; |
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.
| decltype(auto) KernelName = std::string_view{DeviceKernelInfo.Name}; | |
| std::string_view KernelName = DeviceKernelInfo.Name; |
| auto [Iter, Inserted] = | ||
| m_DeviceKernelInfoMap.try_emplace(KernelNameStrT{Info.Name.data()}, Info); | ||
| auto [Iter, Inserted] = m_DeviceKernelInfoMap.try_emplace( | ||
| std::string_view{Info.Name.data()}, Info); |
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 had tried to add detail::string_view::operator std::string_view but it resulted in ambiguities with some comparison operators (I think). Now that we can remove old ones, maybe a better fix would be to change detail::string_view to have this conversion and rely on it happening implicitly for comparisons.
| size_t size() const { return MDeviceGlobals.size(); } | ||
|
|
||
| size_t count(const KernelNameStrT &UniqueId) const { | ||
| size_t count(const std::string_view &UniqueId) const { |
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.
Why const reference?
| #include <sycl/detail/kernel_name_str_t.hpp> | ||
| #include <sycl/kernel_bundle.hpp> | ||
|
|
||
| #include <cstring> |
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 somewhat surprised we need this.
No description provided.