There is a big difference between the document provided through the vendor document and the program output, and I don't quite understand how the local memory is used in the FPGA.
The FPGA I am using is Intel Stratix 10 GX 2800 and according to the document there are 47.25-Megabit (Mb) eSRAM blocks of on-chip memory resources but according to my program the output of local memory is only 16KB.I would like to know the relationship between on-chip memory, local memory and FPGA SYCL kernel.
SYCL Query input:
std::cout << "Local memory size: "
<< device.get_info<sycl::info::device::local_mem_size>()
<< std::endl;
std::cout << "Global memory size: "
<< device.get_info<sycl::info::device::global_mem_size>()
<< std::endl;
std::cout << "Global memory cache size: "
<< device.get_info<sycl::info::device::global_mem_cache_size>()
<< std::endl;
Query output:
Local memory size: 16384
Global memory size: 34359737344
Global memory cache size: 32768
For example, when creating an array in the SYCL or OpenCL kernel, what memory affects the maximum size of this array?