CreateProfilingStream#

Fully qualified name: cupva_utils::CreateProfilingStream

Defined in cupva_host_utils.hpp

cupva::Stream cupva_utils::CreateProfilingStream(
ProfilingContext &ctx,
cupva::EngineType absEngine = cupva::EngineType::PVA0,
cupva::AffinityType vpuAffinity = cupva::AffinityType::VPU_ANY,
)#

Construct a new profiling sync Stream object.

A profiling stream will collect profiling statistics for all workloads submitted to it. To retrieve the collected statistics, the user must call appropriate methods on the ProfilingContext object that was used to create the Stream. The Stream must be destroyed before the ProfilingContext which owns it.

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:
  • ctx – The reference to a ProfilingContext object.

  • absEngine – The PVA engine Id.

  • vpuAffinity – The queue submission affinity.

Throws:
  • std::bad_alloc – Allocating the Stream object failed.

  • cupva::Exception(InvalidArgument) – The AffinityType is invalid.

  • cupva::Exception(DriverAPIError) – The PVA driver returned an unexpected error.

Pre:

None