06-19-2017 02:21 AM
I'm trying to use multiple memory banks to improve memory access efficience. I followed these instructions:
but I got this error:
ERROR: Memory bank specified for kernel instance "krnl_vadd_1" of kernel "krnl_vadd" for argument index 1 does not match the physical connectivity from the binary.
Bank specified on host side is "M01_AXI" while bank from the binary is "M00_AXI".
I'm using SDAccel 2016.4 and the kernel is written in OpenCL C.
I also tried to modify the makefile by appending pamameters below,
xocc --max_memory_ports krnl_vadd --xp misc:map_connect=add.kernel.krnl_vadd_1.M_AXI_GMEM0.core.OCL_REGION_0.M00_AXI --xp misc:map_connect=add.kernel.krnl_vadd_1.M_AXI_GMEM1.core.OCL_REGION_0.M01_AXI
and run `make all` in termimal. But the error is still there when I run `./host.exe xxx.xclbin`.
How can I fix this error?
06-19-2017 04:04 AM - edited 06-19-2017 04:17 AM
Please have a look at this Xilinx SDAccel Github example
06-19-2017 10:04 AM
At the risk of pointing out the obvious, the bank assignment in the host code needs to match the Makefile. Can you share the portion of the host code that does the bank assignment?
06-19-2017 06:36 PM
07-28-2017 01:38 AM
Instead of setting --xp misc:map_connect=xxxx parameter in the compiler stage(" XOCC -c"), could you try to move them to the XOCC linker stage("XOCC -l") and see if it works?