OpenCL-Docs icon indicating copy to clipboard operation
OpenCL-Docs copied to clipboard

vload and vstore vs. vload_half and vstore_half confusion

Open bashbaug opened this issue 1 year ago • 0 comments

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.

bashbaug avatar Oct 28 '24 15:10 bashbaug