Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
1,042 Views

local memory and private memory size?

NDRange setting 

WorkSize[3] = {56, 56, 96} 

WorkGroupSize[3] = {14, 14, 1} 

 

 

I would like to copy data from global memory to work group as local memory. 

I also want to copy some data from global memory to work item private memory. 

I don't know how many local memory I can create? 

How to check how many local/private memory I can use? 

 

 

The FPGA board is a10gx. 

 

 

Thanks, 

Matt
0 Kudos
3 Replies
Altera_Forum
Honored Contributor I
24 Views

Depending on size and access pattern, Local and Private Memory on the FPGA are created using either registers or FPGA BLOCK RAMs. For buffers that are bigger than a certain size, the compiler always uses Block RAMs. The total size of Block RAMs you get on Arria 10 is around 6.5 MB. You also get around 1.5 MB of on-chip memory in form of MLAB. There is also an abundance of registers; thought they will only be used for very small buffers (a few hundred bytes). 

 

If you add the --report switch to your kernel compilation command, you will get an area estimation report from the compiler that will tell you how much of the FPGA resources you are using; however, this report can be sometimes be inacurate and you can get exact numbers only after full placement and routing.
Altera_Forum
Honored Contributor I
24 Views

Thanks for your reply and I have further question. 

 

FPGA BLOCK RAMs, do you mean M20K memory? 

I check the intel® Arria® 10 Product Table at the following link 

https://www.altera.com/content/dam/altera-www/global/en_us/pdfs/literature/pt/arria-10-product-table... 

 

For GX 1150, the size of M20K memory(Mb) is 53Mb(6.625MB). 

This is exactly what you mean FPGA BLOCK RAMs? 

 

 

Thanks, 

Matt
Altera_Forum
Honored Contributor I
24 Views

Yes, that is what I mean.

Reply