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

ID 683846
Date 3/28/2022
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.2. OpenCL C Programming Language Restrictions

The Intel® FPGA SDK for OpenCL™ conforms with the OpenCL Specification restrictions on specific programming language features, as described in section 6.8 of the OpenCL Specification version 1.0 .
Important:

The Intel® FPGA SDK for OpenCL™ Offline Compiler does not enforce restrictions on certain disallowed programming language features. Ensure that your kernel code does not contain features that the OpenCL Specification version 1.0 does not support.

The following table only describes additional clarifications for the OpenCL C Programming language restrictions enforced by the Intel® FPGA SDK for OpenCL™ . All other restrictions exactly match section 6.8 of the OpenCL Specification version 1.0.

Feature Support Status Notes
structure-type kernel arguments X Convert structure arguments to a pointer to a structure in global memory.
irreducible control flow X The offline compiler returns a diagnostic error for this restriction, but this feature is not supported.
writes to memory of built-in types less than 32 bits in size Store operations less than 32 bits in size might result in lower memory performance but are supported.
elements of a struct or a union belonging to different address spaces X The offline compiler does not enforce this restriction.
Warning: Assigning elements of a struct or a union to different address spaces might cause a fatal error.
Support Status column legend:
Symbol Description
The feature is supported, and there might be a clarification for the supported feature in the Notes column
The feature is supported with exceptions identified in the Notes column.
X The feature is not supported.