Visible to Intel only — GUID: GUID-361BD095-9DC0-476E-A584-9DB5E3651AD6
Visible to Intel only — GUID: GUID-361BD095-9DC0-476E-A584-9DB5E3651AD6
Variable-Precision Integer and Floating-Point Support
The Intel® oneAPI DPC++/C++ Compiler supports a range of FPGA-optimized arbitrary-precision data types that are defined in header files, which you can include in your designs. Some of these header files are based on the Algorithmic C (AC) data types provided by Siemens EDA* (formerly Mentor Graphics) under the Apache 2.0 license. For more information about the Algorithmic C data types, refer to https://cdrdv2.intel.com/v1/dl/getContent/728986.
Data Type | Header File | Description |
---|---|---|
ac_int | <sycl/ext/intel/ac_types/ac_int.hpp> | Arbitrary-precision integer support. |
ac_fixed | <sycl/ext/intel/ac_types/ac_fixed.hpp> | Arbitrary-precision fixed-point number support. |
<sycl/ext/intel/ac_types/ac_fixed_math.hpp> | Supports some non-standard math functions for arbitrary-precision fixed-point data types. | |
ac_complex | <sycl/ext/intel/ac_types/ac_complex.hpp> | Complex number support. |
ap_float | <sycl/ext/intel/ac_types/ap_float.hpp> | Arbitrary-precision floating-point number support. |
<sycl/ext/intel/ac_types/ap_float_math.hpp> | Supports commonly used exponential, logarithmic, power, and trigonometric functions with ap_float data type. |
Ensure that the AC data type headers are included after <sycl/sycl.hpp> and <sycl/ext/intel/fpga_extensions.hpp> header files.
Compilation Flags
Data Type | icpx -fsycl Command Flags | Description |
---|---|---|
AC type |
|
Use these flags to include ac_types header files on the include path and link against AC type libraries required for the host device execution support. |
ap_float type |
|
Use these flags to ensure that floating-point operations are accurate. For more information about these flags, refer to -fp-model, fp and fma, Qfma topics in the Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference. |
-DFPGA_EMULATOR | Use this flag when using the ap_float data type and compiling programs for emulation. |