Visible to Intel only — GUID: GUID-CCB95C74-6EC7-436B-8CC3-077F6966E0F3
Visible to Intel only — GUID: GUID-CCB95C74-6EC7-436B-8CC3-077F6966E0F3
Disable Burst-Interleaving of Global Memory (<span class='codeph'>-Xsno-interleaving=<global_memory_type></span>)
The Intel® oneAPI DPC++/C++ Compiler cannot burst-interleave global memory across different memory types. You can disable burst-interleaving for all global memory banks of the same type and manage them manually by including the -Xsno-interleaving=<global_memory_type> option in your icpx command.
Manual partitioning of memory buffers overrides the default burst-interleaved configuration of global memory.
The -Xsno-interleaving option requires a global memory type parameter. If you do not specify a memory type, the Intel® oneAPI DPC++/C++ Compiler issues an error message.
- To direct the Intel® oneAPI DPC++/C++ Compiler to disable burst-interleaving for the default global memory, invoke the following command:
icpx -fsycl -fintelfpga -Xshardware -Xsno-interleaving=default source_file.cpp
- Your accelerator board might include multiple global memory types. To identify the default global memory type, refer to your board vendor's documentation for your Custom Platform or the board_spec.xml file. The board_spec.xml file includes an entry for the global memory. If there is only one memory, that is the default. If there is more than one memory, the board_spec.xml file specifies the default.
- For a heterogeneous memory system, to direct the Intel® oneAPI DPC++/C++ Compiler to disable burst-interleaving of a specific global memory type, perform the following tasks:
- Consult the board_spec.xml file of your Custom Platform for the names of the available global memory types. For example, double data rate (DDR) and quad data rate (QDR).
- To disable burst-interleaving for one of the memory types (for example, DDR), invoke:
icpx -fsycl -fintelfpga -Xshardware -Xsno-interleaving=DDR source_file.cpp
The Intel® oneAPI DPC++/C++ Compiler enables manual partitioning for the DDR memory bank and configures the other memory bank in a burst-interleaved fashion.
- To disable burst-interleaving for more than one type of global memory buffers, include a -Xsno-interleaving=<global_memory_type> option for each global memory type. For example, to disable burst-interleaving for both DDR and QDR, invoke the following command:
icpx -fsycl -fintelfpga -Xshardware -Xsno-interleaving=DDR -Xsno-interleaving=QDR source_file.cpp
Do not pass a buffer as a kernel argument that associates it with multiple memory technologies.