Modify the Handshaking Protocol (-Xshyper-optimized-handshaking)
-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:
- : The default behavior without the option specified. TheautoIntel® oneAPIenables the optimization if it is possible to do so, else it sets to off. Use this value when you want to achieve a higher fDPC++/C++CompilerMAX. When you enable the optimization, theIntel® oneAPIadds pipeline registers to the handshaking paths of the stallable nodes. As a result, you observe higher fDPC++/C++CompilerMAXat the cost of increased area and latency.
- : TheoffIntel® oneAPIattempts to optimize for lower latency at the potential cost of lower fDPC++/C++CompilerMAX. Disabling hyper-optimized handshaking might also decrease area. This is useful for smaller designs where you are willing to give up fMAXfor 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 devices. If you use this option on target devices other than Intel® Stratix® 10 devices, the compiler fails and produces an error. This option applies only when running the report or hardware flow.