Description
Ensure the memory pointer is page-aligned while creating a buffer in the host code.
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.