This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: Questions about TIDL preemption feature

Part Number: TDA4VM

Tool/software:

Hi all,

We are experimenting with the preemption feature in TIDL, so I have a couple of questions:

1) We use TIDL-RT as a backend for our custom inference library. However, it is not clear what is the purpose of TIDLRT_Deactivate() function. In documentation, it is stated that this function should be called after TIDLRT_invoke() to cleanup resources reserved by the previous network for the use case when multiple networks are running. However, in the example from EdgeAI TIDL Tools (https://github.com/TexasInstruments/edgeai-tidl-tools/blob/master/examples/tidlrt_cpp/advanced_examples/tidlrt_priority_scheduling.cpp) this function is not called on each inference iteration (but rather at the end of the application) even though multiple networks are executed. Therefore, my first question is: is it required to call this function when switching to another network execution or not?

2) Can we assume that TIDLRT_invoke() is a thread-safe function? I am asking because currently we run the multiple networks execution with preemption option enabled and it seems to be working until a random point after which TIDLRT_invoke() blocks indefinitely, so I would like to understand what might case this issue.

3) Do we need to set any other parameters in addition to maxPreEmptDelay and targetPriority in order to enable preemption feature in TIDL-RT?

Best regards.

Mladen