Hi,
I would appreciate it when someone tell me the role of ethos-u55/65 shared buffer. I've read the implementaton of vela to suppose that the role is to hold ONE set of IFM/IFM2/OFM blocks (+LUT etc), for example, it holds one IFM block and one OFM block in Conv2D operation, but I'm not sure if it is: If it is true, I cannot understand the role of NPU_SET_BLOCKDEP. If there is only one IFM and one OFM in the shared buffer, why the NPU have to takes care of block dependency whose value is 2 or 3?
Best regards,
Hi Tiva, In addition to George Gekov reply you can refer to U55 TRM 4.9.1 Shared buffer to get the additional details.
Hi Gekov, Singh,
Thank you very much for your reply. I have read TRM and vela, but I'm not sure if vela emits optimal code that satisfies constraint such as BLOCKDEP. I've sent an email to ARM.
Juudzi
Hi Juudzi, Yes, the command stream generated by Vela is optimal and it leverages the NPU_SET_BLOCKDEP command. If you compile your model with --verbose-register-command-stream CLI option, you can see the command stream generated by the compiler and can see that the NPU_SET_BLOCKDEP parameter is used.
Best regards,George