Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
New Contributor I
1,515 Views

Unexpected memory generated in Kernels by the OpenCL compiler

unexpected memory found in the final report of quartus as follow:

 

the entity (xxx_B11) consums 112 M20K memory blocks after P&R:

 

quartus_resource.JPG

 

But in the report.html, there is no such memory usage:

 

捕获.JPG

 

I wonder why this memory is used and how can I avoid such things. Because it consume too much M20K resources.

 

4 Replies
Highlighted
Employee
52 Views

Hello,

Kindly allow me some time to investigate more about this case.

I will reply to you once I get a feedback.

 

 

Thanks

0 Kudos
Highlighted
Employee
52 Views

Hello,

Can you share with me some information about your compilation? Like, which Quartus version did you use? which device?

Sometimes, the compiler uses on-chip memory as part of optimization to enhance any loop or iterated process.

 

thanks

0 Kudos
Highlighted
New Contributor I
52 Views

Hi,

I have tried v17.1 and v18.1, both has the same results. I am using the DE5-net board with an Stratix-V GXA7 FPGA on board.

 

Can such opimization be controlled manually by using pragma or compilation options ?

 

I did more experiments on different implementations with different resource utilization rates. It turns out that when the overal resource utilization of the implemented design is relative small, there will be no memory consumptions by these entities. Is it possible these memory blocks are generated during P&R by quartus rather than the opencl compiler ?

If it is generated by the aoc compiler, the numbers should be collectable and reported in the report.html file.

 

 

 

0 Kudos
Highlighted
New Contributor I
52 Views

Hi,

I have tried v17.1 and v18.1, both has the same results. I am using the DE5-net board with an Stratix-V GXA7 FPGA on board.

 

Can such opimization be controlled manually by using pragma or compilation options ?

 

I did more experiments on different implementations with different resource utilization rates. It turns out that when the overal resource utilization of the implemented design is relative small, there will be no memory consumptions by these entities. Is it possible these memory blocks are generated during P&R by quartus rather than the opencl compiler ?

If it is generated by the aoc compiler, the numbers should be collectable and reported in the report.html file.

 

0 Kudos