Visible to Intel only — GUID: GUID-859B1157-86B5-4BF4-881E-6F1C90566233
Visible to Intel only — GUID: GUID-859B1157-86B5-4BF4-881E-6F1C90566233
Modify the Handshaking Protocol Between Clusters (-Xshyper-optimized-handshaking)
To modify the handshaking protocol between clusters, use the -Xshyper-optimized-handshaking=<auto|off|on> option in your icpx command. The -Xshyper-optimized-handshaking option can be set to one of the following values:
- auto: The Intel® oneAPI DPC++/C++ Compiler chooses whether to enable or disable the optimization. This is the default behavior for all flows except the minimum latency optimization flow.
- on: The compiler enables the optimization if possible. Use this value to achieve a higher fMAX. When you enable the optimization, the compiler adds pipeline registers to the handshaking paths of the stallable nodes. As a result, you observe higher fMAX at the cost of increased area and latency.
- off: The compiler attempts to optimize for lower latency at the potential cost of lower fMAX. Disabling hyper-optimized handshaking might also decrease area. This is useful for smaller designs where you are willing to give up fMAX for lower latency and area. This is the default for the minimum latency optimization flow.
Examples
icpx -fsycl -fintelfpga -Xshardware -Xshyper-optimized-handshaking=auto <source_file>.cpp
icpx -fsycl -fintelfpga -Xshardware -Xshyper-optimized-handshaking=off <source_file>.cpp
icpx -fsycl -fintelfpga -Xshardware -Xshyper-optimized-handshaking=on <source_file>.cpp
The -Xshyper-optimized-handshaking option applies only to designs targeting Intel® Stratix® 10 and Intel Agilex® 7 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.