cupva#

namespace cupva#

Generic CUPVA interfaces.

Classes#

BaseCmd

BaseCmd is the abstraction of the command passed to hardware.

BaseCmdList

BaseCmdList is a movable list of BaseCmd instances.

BaseDataFlow

DataFlow base class.

CmdBarrier

Barrier is the command barrier of the Commands in a Stream .

CmdBuffer

CmdBuffer is a container that holds a set of commands.

CmdL2Ops

Command to perform L2 memory coherence operations.

CmdMemcpy

A convenience command to copy data from source memory area to destination memory area.

CmdPFSD

Command to submit a permanent fault software diagnostic to a VPU.

CmdProgram

Basic unit of work for submission to the PVA engine.

CmdRequestFences

CmdRequestFences will cause the stream to create and output the fence during the submit call.

CmdWaitOnFences

CmdWaitOnFences is blocking the stream processing until fences expire.

ConfigDataFlow

The ConfigDataFlow is used to change dataflows settings in the runtime.

Context

Context holds all resources required by other CUPVA APIs.

DynamicDataFlow

The DynamicDataFlow (deprecated) provides a dynamic load/store ability for memories other than VMEM.

DynamicStorage

Used to hide the implementation details.

Exception

Exception is used for error-handling.

Executable

The Executable object holds binaries for execution on the PVA.

Fence

Fence is used to synchronize between PVA programs.

GatherScatterDataFlow

The GatherScatterDataFlow provides the ability to load data from arbitrary addresses or store data to disparate locations in external memory.

OffsetPointer

The OffsetPointer object is used to represent a mutable device pointer.

Parameter

The Parameter object is the handle to the symbol in the VPU executable.

RasterDataFlow

RasterDataFlow is a DataFlow abstraction for processing tiles by raster scanning.

SequenceDataFlow

SequenceDataFlow describes data transfers which execute sequentially.

SequenceDataFlowTransfer

Represents a transfer within a SequenceDataFlow .

StaticDataFlow

The StaticDataFlow is used to describe a regular tiling pattern.

StaticStorage

Stack object with opaque implementation details.

Stream

The Stream is used to submit PVA commands.

SyncObj

The synchronization object.

TensorDataFlow

TensorDataFlow is a DataFlow abstraction for accessing 3D tiles.

Enumerations#

uint32_t AffinityType

Specifies VPU affinity.

uint32_t EngineType

Specifies PVA Engine Id.

uint32_t Error

Error codes returned by the API (see Exception class)

uint32_t GranType

Enumeration of dataflow trigger granularity.

uint32_t MemType

Specify the memory types.

uint32_t OrderType

Specifies scheduling and execution order for the commands submitted to the Stream .

uint32_t PadDirType

Define PadDirType as uint8_t using one-hot encoding.

uint32_t PadModeType

Enumeration of dataflow-padding types.

uint32_t PvaGeneration

PVA hardware generations.

uint32_t ScanOrderType

Scan orders of tiling an image.

uint32_t SurfaceFormatType

Enumeration of data storage format.

uint32_t SyncClientType

The synchronization client type.

uint32_t SyncWaitMode

The sync object wait mode.

uint32_t TransferModeType

SequenceDataFlowTransfer sequencing mode.

Functions#

Error CheckCommandStatus(CmdStatus const status)

Check the status of a command.

void ConvertTo(OffsetPointer< void const > input, cupvaOffsetPointer_t &output) noexcept

Convert from a C++ OffsetPointer object to a C API cupvaOffsetPointer_t .

void ConvertTo(Executable input, cupvaExecutable_t &output) noexcept

Convert from a C++ Executable object to a C API cupvaExecutable_t.

void ConvertTo(BaseDataFlow input, cupvaDataFlow_t &output) noexcept

Convert from a C++ BaseDataFlow object to a C API cupvaDataFlow_t.

void ConvertTo(BaseCmd input, cupvaCmd_t &output) noexcept

Convert from a C++ BaseCmd object to a C API cupvaCmd_t .

void ConvertTo(SyncObj input, cupvaSyncObj_t &output) noexcept

Convert from a C++ SyncObj object to a C API cupvaSyncObj_t.

void ConvertTo(CmdBuffer input, cupvaCmdBuffer_t &output) noexcept

Convert from a C++ CmdBuffer to a C API cupvaCmdBuffer_t.

void ConvertTo(Parameter input, cupvaParameter_t &output) noexcept

Convert from a C++ Parameter object to a C API cupvaParameter_t .

void ConvertTo(Stream input, cupvaStream_t &output) noexcept

Convert from a C++ Stream object to a C API cupvaStream_t.

void ConvertTo(Context input, cupvaContext_t &output) noexcept

Convert from a C++ Context to a C API cupvaContext_t.

void ConvertTo(Fence input, cupvaFence_t &output) noexcept

Convert from a C++ Fence object to a C API cupvaFence_t .

const uint32_t GetDriverVersion()

Get the version of the PVA driver.

const HardwareInfo & GetHardwareInfo()

Query the hardware information on given platform.

const uint32_t GetRuntimeVersion() noexcept

Get the version of the CUPVA runtime library.

void SetVPUPrintBufferSize(uint32_t const size)

Set the size of VPU print buffer for the current context.

Namespaces#

Data Structures#

HardwareInfo

Holds the PVA hardware information.

Typedefs#

Cmd

Command is the pointer to the BaseCmd object.

CmdStatus

Opaque pointer to status object.