Visible to Intel only — GUID: GUID-924E04A7-FCCA-404D-B9B4-A6A6BB385B0B
Visible to Intel only — GUID: GUID-924E04A7-FCCA-404D-B9B4-A6A6BB385B0B
Force a Single Store Ring to Reduce Area (<span class='codeph'>-Xsforce-single-store-ring</span>)
When the Intel® oneAPI DPC++/C++ Compiler implements a ring topology for the global memory interconnect (either by automatic choice or by forcing the ring through -Xsglobal-ring), it widens the interconnect by default to allow more writes to occur in parallel. This allows for saturation of the global memory throughput using write-only traffic.
The -Xsforce-single-store-ring option allows you to save area if you do not require that much write bandwidth. To narrow the interconnect in order to save area while limiting write-only throughput to one bank's worth, use the -Xsforce-single-store-ring option in your icpx command.
Example
icpx -fsycl -fintelfpga –Xshardware -Xsforce-single-store-ring <source_file>.cpp
You can use -Xsforce-single-store-ring and -Xsglobal-ring command options independently. A combination of their use is also functional.
There is here is some dependence between the two options. For example, using the -Xsforce-single-store-ring option has no effect if the compiler does not use the ring interconnect. So, if you want a ring interconnect and want to force a single-store ring, use the -Xsglobal-ring option to force a ring interconnect. Then, use the -Xsforce-single-store-ring option to make that ring a single-store ring.