OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU.
Announcements
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1718 Discussions

Reduce hidden BRAM usage in ND-raneg OpenCL

hamze60
New Contributor I
484 Views

Hi,

I have rather a simple OpenCL code, configured in ND-range, for graph processing application. I have 4-5 global arguments as input/output. The code structure is rather simple and short, with two nested for loops (outer for vertex and inner for edge processing, with a floating point multiplication and addition in its body), without any explicit local variable (As I know OpenCL local goes to FPGA BRAMs).

Code seems to be very simple, but when I implement it on FPGA (Arria 10, on harp machine) only 2 CU fit inside FPGA. Every CU takes around 25% of BRAMs, plus the default so-called blue bitstream (partial configuration) which takes around 30% of resources constantly.

Is there any solution to reduce hidden BRAM usage? I already removed 'strict' keyword from input arguments, as I do not need a cache for them. That reduced BRAM usage, but still it is high.

Thanks

 

 

 

0 Kudos
1 Reply
Karl_Q_Intel
Employee
484 Views

Hi

Have you consulted the best practices guide?

https://www.intel.com/content/www/us/en/programmable/documentation/mwh1391807516407.html

Essentially examine the detailed HTML area report to determine where the block ram usage is coming from.

Also try to use the “volatile” keyword to avoid caching LSUs.

Thanks

0 Kudos
Reply