KhronosGroup / KhronosGroup/OpenCL-Docs

Specification does not link device info queries and compiler feature macros

Open
#1,047 2 comments 1 reaction 0 assignees View on GitHub
OpenCL API Spec OpenCL C Spec
Dominant language
Python
Stars
420
Forks
131
Avg merge
5d 13h
Merged PRs (30d)
11

Description

The [CTS feature macro tests](https://github.com/gwawiork/OpenCL-CTS/blob/360dc4cc37d4b2b91c5fb25f52d0c271c2a16edd/test_conformance/compiler/test_feature_macro.cpp) enforce that device info queries and compiler feature macros agree on the support of a feature. This dependency isn't explicitly stated in the specification as far as I can tell.

For example, `test_feature_macro_pipes` would fail if `clGetDeviceInfo(..., CL_DEVICE_PIPE_SUPPORT, ...)` reports `CL_FALSE` and the compiler has the feature macro `__opencl_c_pipes` defined.

Assuming the CTS test is correct (i.e., matches what was intended), the C or API specification should state the dependencies between the `clGetDeviceInfo` queries and the compiler feature macros.

Contributor guide

Open the contributing guide

Research direction

Start with the cited CTS file, test_conformance/compiler/test_feature_macro.cpp, and inspect test_feature_macro_pipes to understand the expected relationship. Compare that behavior with the relevant C or API specification sections; done means the dependencies between device info queries and compiler feature macros are explicitly stated.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
compilers, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.