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.

TDA4VH-Q1: TIOVX Timeline Based Semaphore (Data synconazition by timestamp)

Part Number: TDA4VH-Q1


Hi,

We are now trying to synconize the data from different tiovx node to one tiovx node by their timestamps.

For example, 

Node A provide lidar feature f1 and the timestamp is t1.

Node B provide camera feature f2 and the timestamp is t2.

And then I tried to compare the t1 and t2, if their difference is accepted by the threshold,  f1 and f2 would be the input of Node C and do some calculation in it.

But I found that, In the OpenVX execution model, synchronization is not typically managed using timestamps but through implicit data dependencies. The execution of each node (or operation) in a graph is based on the availability of its input data. This means that if the output of node A is the input to node B, node B will wait until node A has finished executing.

And I also found the descrption below in the openvx doc by the link of https://github.com/KhronosGroup/OpenVX-api-docs/blob/8a9d90b7baabfdcdd6ef567ae3f75615bfad4870/docs/vx_khr_tiling.adoc#L557 which said avoid to use the mechanism like semaphore, etc. 

Any suggestions to this Senario?

Best regards,

Feng

  • Hi,

    Does Node C have inputs as both Node A and Node B? Is this case, the Node C will trigger only when both Node A and Node B are ready.

    Regards,

    Nikhil

  • Hi,

    Yes, Node C has both the inputs of Noda A and Node B.

    And Node C will trigger only when both Node A and Node B are ready is the case that I confiirm.

    But this could cause the problems below.

    Frist, if the Node A and Node B has different ouput frequence, the data in both queue are uncontrollable. The correspandant input from NodeA and NodeB is hard to maintain consistency. That is to say, if we play a same clip of data, the result could be different.

    And then, it is only the data trigger situation, the trigger could not be synchronized by the timestamp of the data?

    Best regards,

    Feng

  • Hi Feng,

    With Node A and Node B as different freq, then the input to Node C must be synchronized and controlled by the application. You would have to run Node A and Node B in separate graphs, then make their respective outputs as graph parameter, dequeue the same and enqueue after synchronization to Node C running in third graph.

    Regards,

    Nikhil