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

ID 683846
Date 12/13/2021
Public

A newer version of this document is available. Customers should click here to go to the newest version.

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 that 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 that 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 that might not conform with the OpenCL Specification version 1.0.

7.5 Edge Case Behavior