Basic DataFlow API#

Basic Dataflow Device APIs.

Used to signal or wait on StaticDataFlows (or ConfigDataFlows (deprecated)).

Functions#

void cupvaDataFlowSync(uint32_t handler)

Synchronize and wait for a DataFlow trigger event.

void cupvaDataFlowTrig(uint32_t handler)

Trigger a Dataflow.

Functions#

inline void cupvaDataFlowSync(uint32_t handler)#

Synchronize and wait for a DataFlow trigger event.

Wait for DMA engine to signal tile completion, descriptor completion, or channel completion (depending on DataFlow configuration)

Usage considerations

  • Allowed context for the API call

    • Interrupt handler: No

    • Signal handler: No

    • Thread-safe: No

    • Re-entrant: No

    • Async/Sync: Sync

  • Required privileges: None

  • Allowed execution state

    • Initialization: Yes

    • Operational: Yes

    • Reinit/Deinit Preparation: Yes

  • Maturity: GA

Parameters:

handler – VMEM buffer configured as the handler by host dataflow code (e.g. cupva::StaticDataFlow::trigger)

Pre:

None

inline void cupvaDataFlowTrig(uint32_t handler)#

Trigger a Dataflow.

Once triggered, the DMA engine will start the dataflow. It needs to be manually synchronized with the VPU code by using cupvaDataFlowSync, before results can be used.

Usage considerations

  • Allowed context for the API call

    • Interrupt handler: No

    • Signal handler: No

    • Thread-safe: No

    • Re-entrant: No

    • Async/Sync: Sync

  • Required privileges: None

  • Allowed execution state

    • Initialization: Yes

    • Operational: Yes

    • Reinit/Deinit Preparation: Yes

  • Maturity: GA

Parameters:

handler – VMEM buffer configured as the handler by host dataflow code (e.g. cupva::StaticDataFlow::trigger)

Pre:

None