Developer Guide

Contents

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 Mentor Graphics* under the Apache 2.0 license. For more information about the Algorithmic C data types, refer to Mentor Graphics Algorithmic C (AC) datatypes documentation available at https://hlslibs.org/.
Algorithmic C Data Types Supported by the
Intel® oneAPI
DPC++/C++
Compiler
Data Type
Header File
Description
ac_int
CL/sycl/INTEL/ac_types/ac_int.hpp
Arbitrary-precision integer support
ac_fixed
CL/sycl/INTEL/ac_types/ac_fixed.hpp
Arbitrary-precision fixed-point number support
ac_fixed_math
CL/sycl/INTEL/ac_types/ac_fixed_math.hpp
Support for some non-standard math functions for arbitrary-precision fixed-point data types.
hls_float
CL/sycl/INTEL/ac_types/hls_float.hpp
Arbitrary-precision floating-point number support
hls_float_math
CL/sycl/INTEL/ac_types/hls_float_math.hpp
Support for commonly used exponential, logarithmic, power, and trigonometric functions with
hls_float type
.
ac_complex
CL/sycl/INTEL/ac_types/ac_complex.hpp
Complex number support

Compilation

Add the following flags to your
dpcpp
command to link against the AC type libraries required for the host device execution support:
  • Linux
    :
    -L$INTELFPGAOCLSDKROOT/host/linux64/lib
    -lpsg_mpir
    -lpsg_mpfr
    -lhls_fixed_point_math_x86
    -lhls_vpfp_library
  • Windows
    :
    /link "%INTELFPGAOCLSDKROOT%\host\windows64\lib\hls_fixed_point_math_x86.lib"
  • When compiling programs using the
    hls_float
    type for emulation, pass the
    -DFPGA_EMULATOR
    argument to the
    dpcpp
    command.
  • Ensure that the AC data type headers are included after
    <CL/sycl.hpp>
    and
    <CL/sycl/INTEL/fpga_extensions.hpp>
    header files.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.