Today's modern processors from Intel, AMD, and ARM have their floating-point units (FPUs) IEEE 754 compliant; however, ARM has both hardware and software support for half-precision numbers in addition to single-precision and double-precision numbers. Hence this implies that your OpenCL programs can actually utilize half-precision on ARM-based processors and this raise a question on how can one determine what sort of floating-point support does the device have.
The answer to that question is to query the device via the
clGetDeviceInfo API and passing in any of the following parameters:
CL_DEVICE_HALF_FP_CONFIG which identifies ...