Intel® FPGA SDK for OpenCL™ Standard Edition: Programming Guide

ID 683342
Date 4/22/2019
Public
Document Table of Contents

A.1.4. Numerical Compliance Implementation

Section 7 of the OpenCL Specification version 1.0 describes features of the C99 and IEEE 754 standards that OpenCL™-compliant devices must support. The Intel® FPGA SDK for OpenCL™ operates on 32-bit and 64-bit floating-point values in IEEE Standard 754-2008 format, but not all floating-point operators have been implemented.

The table below summarizes the implementation statuses of the floating-point operators:

Section Feature Support Status Notes
7.1 Rounding Modes Conversion between integer and single and half precision floating-point types support all rounding modes.

Conversions between integer and double precision floating-point types support all rounding modes on a preliminary basis. This feature might not conform with the OpenCL Specification version 1.0.

7.2 INF, NaN and Denormalized Numbers Infinity (INF) and Not a Number (NaN) results for single precision operations are generated in a manner that conforms with the OpenCL Specification version 1.0. Most operations that handle denormalized numbers are flushed prior to and after a floating-point operation.

Preliminary support for double precision floating-point operation. This feature might not conform with the OpenCL Specification version 1.0.

7.3 Floating-Point Exceptions X
7.4 Relative Error as ULPs Single precision floating-point operations conform with the numerical accuracy requirements for an embedded profile of the OpenCL Specification version 1.0.

Preliminary support for double precision floating-point operation. This feature might not conform with the OpenCL Specification version 1.0.

7.5 Edge Case Behavior