KhronosGroup / KhronosGroup/OpenCL-CTS

non-uniform subgroups - add testing for uses in non-uniform control flow block

Open
#1,236 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.