Developer Guide

Contents

Modify the Handshaking Protocol (
-Xshyper-optimized-handshaking
)

To modify the handshaking protocol used in certain areas of your design, use the
-Xshyper-optimized-handshaking=<auto|off>
option in your
dpcpp
command. The
-Xshyper-optimized-handshaking
option can be set to one of the following values:
  • auto
    : The default behavior without the option specified. The
    Intel® oneAPI
    DPC++/C++
    Compiler
    enables the optimization if it is possible to do so, else it sets to off. Use this value when you want to achieve a higher f
    MAX
    . When you enable the optimization, the
    Intel® oneAPI
    DPC++/C++
    Compiler
    adds pipeline registers to the handshaking paths of the stallable nodes. As a result, you observe higher f
    MAX
    at the cost of increased area and latency.
  • off
    : The
    Intel® oneAPI
    DPC++/C++
    Compiler
    attempts to optimize for lower latency at the potential cost of lower f
    MAX
    . Disabling hyper-optimized handshaking might also decrease area. This is useful for smaller designs where you are willing to give up f
    MAX
    for lower latency and area.
Examples
dpcpp -fintelfpga -Xshardware -Xshyper-optimized-handshaking=auto <source_file>.cpp
dpcpp -fintelfpga -Xshardware -Xshyper-optimized-handshaking=off <source_file>.cpp
The
-Xshyper-optimized-handshaking
option applies only to designs targeting Intel® Stratix® 10 and Intel® Agilex™ devices. If you use this option on other target devices, the compiler fails and produces an error. This option applies only when running the report or hardware flow.

Product and Performance Information

1

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