Utility Library#
Utility library for monitoring cuPVA host internals.
The cuPVA host library generates hardware configuration from user provided parameters. To assist the user in monitoring how well the host library is performing this role, and in debugging their own setup code, a utility library is provided. Note that this library is not intended to be used in a production setting.
Classes#
- cupva_utils::ProfilingContext
Profiling Context.
- cupva_utils::ProfilingStatistics
Profiling statitics.
Enumerations#
- uint32_t cupva_utils::ProfilingBatchStatType
Profiling batch stat type.
- uint32_t cupva_utils::ProfilingProgramStatType
Profiling program stat type.
Functions#
- void * cupva_utils::AllocSurface(const PlaneSize *ps, const int32_t planeCount, const cupva::SurfaceFormatType format=cupva::SurfaceFormatType::BLOCK_LINEAR)
Allocate a surface that is accessable by PVA engine.
- void cupva_utils::CopyFromPlane(void *dst, const void *srcPlaneBase, const int32_t imageWidth, const int32_t imageHeight)
copy a surface plane to a pitch linear buffer.
- void cupva_utils::CopyToPlane(void *dstPlaneBase, const void *src, const int32_t imageWidth, const int32_t imageHeight)
copy a pitch linear buffer to a surface plane.
- 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.
- cupva::Stream cupva_utils::CreateSyncStream(cupva::EngineType absEngine=cupva::EngineType::PVA0, cupva::AffinityType vpuAffinity=cupva::AffinityType::VPU_ANY)
Construct a new sync Stream object.
- cupva::Stream cupva_utils::CreateSyncStream(cupva::Stream stream)
Construct a new sync Stream object from an existing Stream object.
- std::string cupva_utils::DMAPerfWarnings(cupva::CmdProgram &program)
Report potential perf issues due to suboptimal DMA configs.
- ProfilingStatistics cupva_utils::ProfilingContext::getStatistics(cupva::CmdProgram const &prog, ProfilingProgramStatType const type)
Get per CmdProgram statistics in nanoseconds from a context given a profiling statistics type.
- ProfilingStatistics cupva_utils::ProfilingContext::getStatistics(ProfilingBatchStatType const type)
Get profiling statistics in nanoseconds from a context given a profiling statistics type.
- ProfilingStatistics cupva_utils::ProfilingContext::getStatistics(cupva::Executable const &exec, ProfilingProgramStatType const type)
Get per Executable statistics in nanoseconds from a context given a profiling statistics type.
Data Structures#
- cupva_utils::PlaneSize
Plane configuration.
- cupva_utils::ProfilingStatisticsData
Profiling statitics data struct.