KhronosGroup / KhronosGroup/OpenCL-CTS
Remove extension pragmas on extended subgroups
- Dominant language
- C++
- Stars
- 232
- Forks
- 235
- Avg merge
- 8d 7h
- Merged PRs (30d)
- 18
Description
The extended subgroup spec has never listed the extension pragmas and we haven't supported it in clang.
https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#_extended_subgroup_functions
However, CTS still contains the pragmas for those extensions
https://github.com/KhronosGroup/OpenCL-CTS/blob/master/test_conformance/compiler/test_compiler_defines_for_extensions.cpp
```
"cl_khr_subgroup_extended_types",
"cl_khr_subgroup_non_uniform_vote",
"cl_khr_subgroup_ballot",
"cl_khr_subgroup_non_uniform_arithmetic",
"cl_khr_subgroup_shuffle",
"cl_khr_subgroup_shuffle_relative",
"cl_khr_subgroup_clustered_reduce",
```
Perhaps they need to be refactored to have 3 lists:
- one for kernel language with pragmas
- one for kernel language without pragmas
- one for API
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with test_conformance/compiler/test_compiler_defines_for_extensions.cpp and compare its extension-pragmas list with the extended subgroup specification linked in the issue. Determine which listed extensions should no longer have pragmas, then check the relevant compiler-defines test to confirm the updated categorization and expected results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100