Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vload and vstore vs. vload_half and vstore_half confusion #1276

Open
bashbaug opened this issue Oct 28, 2024 · 0 comments
Open

vload and vstore vs. vload_half and vstore_half confusion #1276

bashbaug opened this issue Oct 28, 2024 · 0 comments

Comments

@bashbaug
Copy link
Contributor

bashbaug commented Oct 28, 2024

The current spec does not clearly differentiate between the vload and vstore functions, which require the cl_khr_fp16 extension, and the vload_half and vstore_half, which are supported by all OpenCL implementations, leading to confusion. We should try to fix this.

For example, section 6.15.7 - Vector Data Load and Store Functions currently says:

All functions taking or returning half types are supported only when the cl_khr_fp16 extension macro is supported.

Strictly speaking, this is true, because the vload_half and vstore_half functions take a pointer-to half, but this detail is easy to miss.

We should clarify that there are two different "classes" of functions:

  1. The vload_half and vstore_half functions take pointers-to-half, but otherwise take or return float data. These are supported by all OpenCL devices, even those that do not support cl_khr_fp16.
  2. The vload and vstore functions that take pointer-to-half and take or return half data. These require cl_khr_fp16.

This issue is debatably a small part of #1044, but filing it separately to ensure it is addressed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

1 participant