-
Notifications
You must be signed in to change notification settings - Fork 10k
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
vulkan: bugfixes for small subgroup size systems + llvmpipe test #10809
Conversation
Provide more documentation for streaming mode.
more fixes add test
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 can't review the workflow change, but the vulkan change LGTM.
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.
The workflow change looks good to me, it doesn't add an unreasonable amount of time to the CI.
I tried running it on llvmpipe, but it got stuck on |
Not sure if this helps but here's the Vulkan printout from my computer which passes all tests. The flags are the same on the Github machines but they use version 15.0.7.
I think if you have a CPU with AVX 512 you'll get a 512 bit llvmpipe with a warp size of 16. |
I don't have an AVX512 CPU. I get exactly the same printout as you do. When using |
So I tried running our Vulkan implementation with llvmpipe for fun and discovered that some shaders don't work properly with a smaller than usual subgroup size. Llvmpipe has a subgroup size of 8 on AVX systems as it treats each 256-bit AVX processor (computing 8 32 bit floats) as a GPU core.
Having llvmpipe support also means that we can run the Vulkan tests on the regular Github CI machines. It's super slow considering it's simulating a GPU on CPU but at least it's faster than the CUDA and HIP builds!