-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Fix shuffle bug in CodeGen C. #8567
Conversation
ea4d9bb
to
fbe3e55
Compare
I think @shoaibkamil has been snowed under with work. Perhaps @derek-gerstmann could take a look? |
3ad6eca
to
7fd0e17
Compare
@abadams Sure, I’ll have a look. I’ll need some time to diagnose the Vulkan codegen issues, but I’ll review what’s been submitted so far. |
What’s the status on all the other backends? Cuda, D3D12, etc? Does this only affect GPU C-Source based code paths? |
Yes, this only affected the C-based backends (OpenCL, D3D12, WebGPU). The PTX codegen is based on the LLVM codegen-backend, which doesn't have this issue. The Vulkan backend works via SPIRV, which I opened the issue for in #8580. |
@derek-gerstmann Can you update the review? I'd like to start clearing my PRs. |
Sure! LGTM. Could you add an issue for the Vulkan CodeGen so I can track it? Thx! |
Reopened this PR from a different branch, as I wasn't expecting this would take a month to merge, so I moved it to a new branch (instead of my
main
branch).Shuffle emitting in OpenCL was broken when the input to the
Shuffle
node were actual vectors instead of scalar. For some reason, in most of the scenarios the codegen makes it's way to the Shuffle nodes, the Shuffles are containing all vectors with 1 lane, causing no real issue without this PR. Today I ran into codegen having to shuffle multiple actual vectors in the OpenCL codegen.@derek-gerstmann I had to disable Vulkan testing, because there is an issue on my machine with that. Could you check that out? Last excerpt from DEBUG_CODEGEN=1 output: