Forum Discussion
Altera_Forum
Honored Contributor
8 years agoEnqueueWrite Very Large Data
Hi, i found that when i enqueuewrite a very large data (millions value) to the kernel, it takes around 200ms which is significant degrades the performance of my application. So, I plan to either a...
Altera_Forum
Honored Contributor
8 years agoOn SoCs there is only one physical instance of DDR memory which is shared between the ARM processor and the FPGA. With shared memory on SoCs, you just malloc the data in memory and then create the OpenCL buffer using the host pointer, while with clEnqueueWriteBuffer, the data is copied one more time to the DDR memory. Using shared memory avoids the extra copy. "Intel FPGA SDK for OpenCL Programming Guide, Section 6.7" explains how to allocate shared memory on SoC boards.