arjun.a
rename files
6c7b14a
Ticket Name: RTOS: How EVE/DSP cores read the parameters of specific layers?
Query Text:
Tool/software: TI-RTOS Hi, I have a question about TIDL usecase. In TIDL OD, how eve/dsp cores read the parameters which are belonged to specific layers in SSD? I saw the usecase reads bin files which have information of Network architecture and real parameters in tidlODInit function. However, in AlgorithmLink_tidlProcess, which is a function that actually implements eve and dsp algorithms, i couldn't find the core verify each layer is designated to itself. Could you let me know where the source code implements that part? Thanks in advance. Regards, Yoo.
Responses:
Hi Yoo, "LayergroupID" parameter in the import config decides which layer to run on EVE or DSP cores. Please check FAQ #21 and #22 in TIDeepLearningLibrary_UserGuide.pdf for more details on this. Thanks, Praveen
Hi, Thank you for reply. Yes, i already read that section. However, what I would like to know is how to pass each layer set in import config to eve and dsp when real TIDL OD usecase is running. In source code, there is AlgorithmLink_tidlProcess function in tidlLink_algPlugin.c file. However, i didn't find where to check each layer is set to be calculated on DSP/EVE. Could you let me know how to know DSP/EVE each layer is responsible for themselves? Thank you. Regards, Yoo.
Hi, In AlgorithmLink_tidlProcess, we check the input buffer type and depending on that we decide its running on DSp or EVE. If buftype is video frame then it is running on EVE and if its meta buffer then it is running on DSP. Regards, Anuj
Hi, If buffer type decides whether each layer is running on DSP or EVE, what LayerGroupID is for? Could you explain what is meta buffer? I understood the video buffer is for each frame. Then meta buffer is just for contains information of frame? So far as I understand it, check each layer group id in the AlgorithmLink_tidlCreate function. At this time, if the result of the layer assigned to eve is input to the next layer assigned to dsp, or vice versa, an input buffer and an output buffer are generated. Then, in AlgorithmLink_tidlProcess, it gets the input buffers from previous link and put them into temporary queue. The input buffers may be the input frame that is preprocessed by A15. And it prepares output buffers corresponding to input buffers. After that, it checks whether the input buffer is meta data or video frame. (which link sends meta data?) And algProcess executed using inBufs, outBufs, etc. After algProcess, it puts out buffer to queue and notify to previous link and release input buffers. Could you please let me know if i understand code incorrectly? In addition, if i understand correctly, i think it doesn't match with the flow of TIDL OD chains below image. (Maybe, i missed some point) Thanks for your reply. Regards, Yoo.
Hi, Meta frame is a kind of buffer holder in VSDK which contains meta information. We have different kind of buffer holder, please check below file. vision_sdk\links_fw\include\link_api\system_buffer.h TIDL link running on eve gives meta buffer as output. Regards, Anuj
Hi, Its been long since any update on this thread. I hope the issue is resolved. If not then please reply below or create a new thread for different issue. Regards, Anuj