Skip to content
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

[SYCL][ABI-Break] Fold host_half_impl::half into half_impl::half #13597

Merged

Conversation

steffenlarsen
Copy link
Contributor

This commit folds the implementation of host_half_impl::half into half_impl::half and making the vector element representation the same as the half representation. This allows us to avoid strict alias violation for half vectors in their operator[] implementations.

Note that this is marked as an ABI break as it removes symbols on Windows, despite these symbols never being in the library.

This commit changes the internal representation of
sycl::vec<sycl::half, N> to use sycl::half directly instead of the
wrapper implementation used inside them. This avoids strict alias
violation in the operator[] for the host implementation.

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
This commit folds the implementation of host_half_impl::half into
half_impl::half and making the vector element representation the same
as the half representation. This allows us to avoid strict alias
violation for half vectors in their operator[] implementations.

Note that this is marked as an ABI break as it removes symbols on
Windows, despite these symbols never being in the library.

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
@steffenlarsen

This comment was marked as outdated.

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
@steffenlarsen steffenlarsen added the abi-break change that's breaking abi and waiting for the next window to be able to merge label Jun 24, 2024
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Copy link
Contributor

@uditagarwal97 uditagarwal97 left a comment

Choose a reason for hiding this comment

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

SYCL Changes LGTM!

@steffenlarsen
Copy link
Contributor Author

@intel/dpcpp-esimd-reviewers - Friendly ping.

Copy link
Contributor

@sarnex sarnex left a comment

Choose a reason for hiding this comment

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

lgtm, sorry for delay!

@aelovikov-intel aelovikov-intel merged commit d2f6fb3 into intel:sycl Jul 16, 2024
14 checks passed
smanna12 pushed a commit to smanna12/llvm that referenced this pull request Jul 16, 2024
…el#13597)

This commit folds the implementation of host_half_impl::half into
half_impl::half and making the vector element representation the same as
the half representation. This allows us to avoid strict alias violation
for half vectors in their operator[] implementations.

Note that this is marked as an ABI break as it removes symbols on
Windows, despite these symbols never being in the library.

---------

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
abi-break change that's breaking abi and waiting for the next window to be able to merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants