Description
While creating a buffer in the host code, ensure the memory pointer is page-aligned.
Explanation
Xilinx®
Runtime (XRT) prefers
page-aligned memory for efficient data transfer to and from the FPGA. If the buffer pointer
is not aligned to a page boundary, XRT performs extra memcpy to make it aligned. This extra memcpy
operation can be avoided if host code memory is aligned to page boundary.
Resolution
Use posix_memalign, aligned_alloc, _aligned_malloc,
and so on to align the cl_buffer host pointer to the page
boundary.