Developer Guide


Manual Partition of Global Memory

You can partition the memory manually so that each buffer occupies a different memory bank.
The default burst-interleaved configuration of the global memory prevents load imbalance by ensuring that memory accesses do not favor one external memory bank over another. However, you have the option to control the memory bandwidth across a group of buffers by partitioning your data manually.
Intel® oneAPI
cannot burst-interleave across different memory types. To manually partition a specific type of global memory, compile your kernels with the 
 flag to configure each bank of a certain memory type as non-interleaved banks.
If your kernel accesses two buffers of equal size in memory, you can distribute your data to both memory banks simultaneously regardless of dynamic scheduling between the loads. This optimization step might increase your apparent memory bandwidth.
If your kernel accesses heterogeneous global memory types, include the 
 option in the 
command for each memory type that you want to partition manually.

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at