KhronosGroup / KhronosGroup/OpenCL-CTS
non-uniform subgroups - add testing for uses in non-uniform control flow block
- Dominant language
- C++
- Stars
- 232
- Forks
- 235
- Avg merge
- 8d 7h
- Merged PRs (30d)
- 18
Description
It is known that traditional single-thread based compilers are not optimising the cross lane operations correctly and therefore there are bugs resulting in incorrect functionality of generated binaries (example for LLVM https://bugs.llvm.org/show_bug.cgi?id=46199).
It would be good to enhance the testing with cases that expose such incorrect behavior. Some possible directions could be:
- Add similar testing as for Vulkan subgroups CTS. I don't have any public pointer but I can provide more information offline.
- Add some examples from the LLVM review https://reviews.llvm.org/D85603 that attempts to fix the semantic but not the optimisations yet.
Note that Vulkan CTS might not cover all possible cases for OpenCL as they don't have non-structured control flow.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the existing subgroup tests and comparing their coverage with Vulkan subgroup CTS. Read LLVM review D85603 and the linked LLVM bug for examples of non-uniform control-flow failures. Done means adding reproducible OpenCL CTS cases that expose incorrect cross-lane behavior, including non-structured control flow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100