Skip to content

Conversation

@luciechoi
Copy link
Contributor

@luciechoi luciechoi commented Oct 17, 2025

Added 2 tests based on the article, subgroup uniform control flow and loop peeling.

Addresses llvm/llvm-project#136930

@luciechoi
Copy link
Contributor Author

luciechoi commented Oct 21, 2025

@s-perron @Keenuts

🤔 I don't think the GPUs here have the maximal reconvergence extension Looks all GPUs except for Intel have the extension!

Copy link
Contributor

@s-perron s-perron left a comment

Choose a reason for hiding this comment

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

This is a good couple tests to starts testing convergence. However, the feature checks need to be improved to make sure they run for DirectX as well.

@luciechoi luciechoi force-pushed the maximal_reconvergence branch from 557f48f to 1251f6e Compare October 22, 2025 17:00
@luciechoi luciechoi requested a review from s-perron October 22, 2025 17:02
@s-perron
Copy link
Contributor

Looks like Feature/MaximalReconvergence/subgroup_uniform_control_flow.test failing for DirectX in different way.

Intel clang DirectX: Data: [ 8, 9, 8, 9, 14, 7, 7, 7 ]
Intel DXC DirectX: Data: passed
Warp All DirectX: [ 8, 9, 8, 9, 14, 7, 7, 7 ]
MacOS clang: [ 8, 9, 8, 9, 14, 7, 7, 7 ]
MacOS dxc: passed

@spall What is the best way to handle this failure? I'm guessing there are two problems. One in warp and one in the clang compiler.

@spall
Copy link
Collaborator

spall commented Oct 23, 2025

Looks like Feature/MaximalReconvergence/subgroup_uniform_control_flow.test failing for DirectX in different way.

Intel clang DirectX: Data: [ 8, 9, 8, 9, 14, 7, 7, 7 ] Intel DXC DirectX: Data: passed Warp All DirectX: [ 8, 9, 8, 9, 14, 7, 7, 7 ] MacOS clang: [ 8, 9, 8, 9, 14, 7, 7, 7 ] MacOS dxc: passed

@spall What is the best way to handle this failure? I'm guessing there are two problems. One in warp and one in the clang compiler.

so dxc and clang have different results and its determined that the dxc results are correct? Also warp is wrong always? I guess we file an issue on Clang and Warp. @llvm-beanz how should we file an issue on warp for this?

Co-authored-by: Steven Perron <stevenperron@google.com>
@luciechoi
Copy link
Contributor Author

Subgroup Uniform Control Flow Loop Peeling
windows-intel, check-hlsl-d3d12
windows-intel, check-hlsl-clang-d3d12 [ 8, 9, 8, 9, 14, 7, 7, 7 ] [ 7, 7, 7, 7, 7, 7, 7, 7 ]
windows-intel, check-hlsl-warp-d3d12 [ 8, 9, 8, 9, 14, 7, 7, 7 ]
windows-intel, check-hlsl-clang-warp-d3d12 [ 8, 9, 8, 9, 14, 7, 7, 7 ] [ 3, 3, 3, 3, 7, 7, 7, 7 ]
windows-intel, check-hlsl-vk Unsupported Unsupported
windows-intel, check-hlsl-clang-vk Unsupported Unsupported
windows-qc, check-hlsl-warp-d3d12 [ 8, 9, 8, 9, 14, 7, 7, 7 ]
windows-qc, check-hlsl-clang-warp-d3d12 Build Error Build Error
macos, check-hlsl-mtl
macos, check-hlsl-clang-mtl [ 8, 9, 8, 9, 14, 7, 7, 7 ] [ 7, 7, 7, 7, 7, 7, 7, 7 ]

@luciechoi luciechoi force-pushed the maximal_reconvergence branch 5 times, most recently from 1242a59 to 32cbead Compare October 28, 2025 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants