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.