-
Notifications
You must be signed in to change notification settings - Fork 49
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
Question on the vector add example #2099
Comments
IGC has a pass that scalarizes the vector addition. Before that pass the LLVM IR is:
and after that pass the vector add is scalarized:
So this is a transformation performed by IGC. Triton generates the vector code. Is unclear at this point the reason the SYCL program is not scalarized. @pbchekin who is the contact and can we get the SYCL code reproducer along with compilation command? |
@etiotto Can you give open-linux-driver-ci-dev_igc-17737 a try? It contains a recent change which makes that IGC pass more restrictive. |
Are we confusing vector types and vectorization? SYCL has a vec4 type which is syntactic sugar for unpacking a struct. https://developer.codeplay.com/products/computecpp/ce/2.11.0/api-reference/vec__types__defines_8h.html |
I don't have the SYCL program, however from the original question I am guessing the LLVM IR generated by SYCL would contain vector adds and that for some reasons IGC doesn't scalarize them. When we get the SYCL program we can check the LLVM IR it generates. |
@pbchekin do you have the contact info for the person that asked the original question? |
I have asked but not yet received the SYCL program. Moving to next iteration. |
IGC team is working on the implementation of vector emission for fadd. |
Received this:
OCL_asm67166d3621db5283_beforeUnification.zip
OCL_asm67166d3621db5283_optimized.zip
The text was updated successfully, but these errors were encountered: