Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20703 Discussions

What is the most effective way to copy subsets of arrays between local and global memory?

WWP00
Beginner
722 Views

For example, suppose we have a local memory array:

 

float local[10];

 

And a much larger, global memory array. Would we copy like:

 

int memStart = 50;

for (int i = 0; i < 10; ++i)

         local[i] = globalMem[memStart + i];

 

Or should we use #pragma unroll for this copy, to avoid making the loop take one clock cycle per copy? Or is there some other recommended way to move array data between local and global memory?

0 Kudos
3 Replies
Kenny_Tan
Moderator
428 Views
Hi, You may found information here: https://stackoverflow.com/questions/20616844/how-to-transfer-array-data-in-vhdl I would suggest you post it to there as it involve IEEE std. Thanks
0 Kudos
WWP00
Beginner
428 Views

Sorry, I meant in Intel's OpenCL for FPGAs, not in RTL.

0 Kudos
Kenny_Tan
Moderator
428 Views

You can refer to https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/opencl-sdk/archives/aocl-best-practices-guide-15.1.pdf page 1-47.

Transferring Loop-Carried Dependency to Local Memory 

 

For more queries, can you put this to the correct category fall under open cl? https://forums.intel.com/s/topic/0TO0P0000001AUUWA2/intel-high-level-design

 

Thanks

0 Kudos
Reply