Developer Guide

Contents

Document Revision History for the Intel® oneAPI DPC++ FPGA Optimization Guide

Date
Release Version
Changes
July 2021
2021.3
Bug fixes.
June 2021
2021.3
  • Added more information about streaming data using I/O pipes and faking I/O pipes in
    I/O Pipes
    .
  • Added description about the local memory function in
    Kernel Memory
    .
  • Added a new section to describe the global memory bandwidth use calculation in
    Global Memory Accesses Optimization
    .
  • In
    System Viewer
    , added description about the global memory view, changed the Graph Viewer report name to System Viewer, updated all images and made minor updates in the remaining part of the topic.
  • Updated the description and image in
    Schedule Viewer
    .
  • Updated most of the code snippets to reflect the latest coding practices.
  • Made minor updates to the description of
    ivdep
    Attribute
    and
    loop_coalesce
    Attribute
    .
  • Added MLABs to the description in
    Perform Kernel Computations Using Local or Private Memory
    .
  • Modified the description in
    Strategies for Inferring the Accumulator
    to remove references to the
    -Xsfp-relaxed
    flag.
  • Updated the compilation options in
    Variable-Precision Integer and Floating-Point Support
    .
  • Updated the limitations in
    Advantages and Limitations of Arbitrary Precision Data Types
    .
  • Merged
    Ignoring Dependencies Between Accessor Arguments
    topic with
    Global Memory Accesses Optimization
    .
  • Updated the list of attributes in
    FPGA Kernel Attributes
    .
  • Added the following new topics:
    • Shannonization to Improve F
      MAX
      /II
    • Simple Host-device Streaming
    • Buffered Host-device Streaming
    • N-Way Buffering
    • Optimize Inner Loop Throughput
    • Improve Loop Performance by Caching On-Chip Memory
    • FPGA Local Memory Function
    • Pipelining Loops in Non-task Kernels (
      -Xsauto-pipeline
      )
    • Pipe and Atomic Fence
    • Reducing Floating-Point Rounding Operations (
      -Xsffp-contract=fast
      )
    • FPGA Accessor Properties
  • Removed the following topics because the respective flags are now deprecated:
    • Relax the Order of Floating-Point Operations (
      -Xsfp-relaxed
      )
    • Reduce Floating-Point Rounding Operations (
      -Xsfpc
      )
  • Removed
    Tree Balancing
    and
    Rounding Operations
    topic from
    Optimize Floating-point Operation
    .
March 2021
2021.2
  • Updated the topic
    Cluster the Datapath
    completely including the diagrams.
  • Updated the dependency graph in
    Mapping Source Code Instructions to Hardware
    .
  • Updated
    Hyper-Optimized Handshaking Data Flow
    diagram in
    Handshaking Between Clusters
    topic.
  • Made minor updates in
    Executing Independent Operations Simultaneously
    .
  • Updated the topic
    Pipelining
    completed including the diagrams.
  • Added a note about the enablement of fast math operations for floating point operations in
    Data Types and Operations
    .
  • Updated the topic
    Access HLD FPGA Reports in JSON Format
    to include details about the Bottlenecks viewer.
  • Made minor update to a note in
    Specify Number of SIMD Work-Items
  • Added the following new topics:
    • Floating Point Optimizations
    • Floating Point Pragmas
    • Specify Schedule F
      MAX
      Target for Kernels
    • Bottlenecks Viewer
    • Loop Bottlenecks
    • Variable-Precision Integer and Floating-Point Support
    • Advantages and Limitations of Arbitrary Precision Data Types
    • Declare and Use the AC Data Types
    • Declare the
      ac_int
      Data Type
    • Declare the
      ac_fixed
      Data Type
    • Declare the
      ac_complex
      Data Type
    • Declare the
      hls_float
      Data Type
    • Conversion Rules for
      hls_float
    • Operations with Explicit Precision Controls
    • Comparison Operators
    • Additional
      hls_float
      Functions
    • Additional Data Types Provided by
      hls_float.hpp
December 2020
2021.1
First major release.

Product and Performance Information

1

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