Forum Discussion
Altera_Forum
Honored Contributor
8 years agoQuestion about memory access pattern
Hi, I have one specific questions regarding the memory access optimization in FPGA. As we know, developers need to make sure to coalesce all memory accesses in their code. In GPU, that mea...
Altera_Forum
Honored Contributor
8 years agoGPUs have complex and efficient memory controllers and mostly rely on run-time access coalescing of consecutive accesses by threads in a warp. On FPGAs, there is little (or likely no) support for run-time coalescing and accesses must be coalesced at compile-time instead. This can be achieved by unrolling the memory access loop in single work-item kernels, or using SIMD in NDRange kernels. If you check the system viewer section in the area report, you will see that loop unrolling/SIMD will increase the size of the ports going from the kernel to memory.