-
Notifications
You must be signed in to change notification settings - Fork 787
[SYCL][ESIMD] Fix compilation break occurring when bfloat16 constructor is used in a kernel #8892
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
…com/fineg74/llvm into bfloat16ConstructorFix
# Conflicts: # llvm/lib/SYCLLowerIR/ESIMD/LowerESIMD.cpp
# Conflicts: # llvm/lib/SYCLLowerIR/ESIMD/LowerESIMD.cpp
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.
Sorry for the late review, I missed this somehow.
Can you bring me up to speed on the root cause and the solution? I looked at the internal bug tracker but didn't totally understand how it's related to this PR.
My understanding is that all __devicelib_ConvertFToBF16INTEL
does is call __spirv_ConvertFToBF16INTEL
, at least that's what this code seems to be doing.
Do we not link against whatever sycl device library contains the implementation for __devicelib_ConvertFToBF16INTEL
so we never see the defn or something?
Thanks
My understanding of the problem is:
|
Thanks for the explanation. I investigated it a bit more and it seems It seems like we need to handle this on our side, so this solution makes sense, will review it in depth soon. |
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.
this looks good, thanks. i dont understand why the bf16 feature was implemented this way but this looks to be a good way to deal with it.
verify failed with oneapi 2023.2.0.20230622, still meet compiler issue like below: |
No description provided.