Skip to main content

EvTensorAbi.h File

Mirrored EV-side tensor ABI used to communicate with EV74 kernels. More...

Included Headers

#include <stdint.h>

Classes Index

structsima_ev_abi_header

Common header at the start of every per-op config block. More...

structsima_ev_storage_desc

Device-visible storage backing a tensor descriptor. More...

structsima_ev_strided_desc

Logical strided tensor view (rank + sizes + byte strides). More...

structsima_ev_tiled_desc

Physical tiled tensor view. More...

structsima_ev_quant_desc

Optional quantization metadata. More...

structsima_ev_tensor_desc

Full per-tensor descriptor: dtype, layout, storage, optional quant. More...

structsima_ev_tess_config_v1

Tess (tessellate) op config: 1 input, 1 output. More...

structsima_ev_detess_config_v1

Detess (detessellate) op config: 1 input, 1 output. More...

structsima_ev_quantize_config_v1

Quantize op config: 1 input, 1 output, plus rounding/saturation modes. More...

structsima_ev_dequantize_config_v1

Dequantize op config: 1 input, 1 output. More...

structsima_ev_tensor_list_v1

Multi-tensor IO shell used by kernels like detessdequant. More...

structsima_ev_detessdequant_params_v1

Per-output detessdequant parameters. More...

structsima_ev_detessdequant_config_v1

DetessDequant op config: many inputs, many outputs, per-output params. More...

structsima_ev_roi_v1

Region-of-interest rectangle, in pixels. More...

structsima_ev_preproc_config_v1

Preproc op config: 1 input image, 1 output tensor, plus crop/resize/normalize. More...

Enumerations Index

anonymous enum { ... }

ABI-wide capacity constants and version identifier. More...

enumsima_ev_op_type { ... }

Operation-type tag carried in sima_ev_abi_header::op_type. More...

enumsima_ev_addr_space { ... }

Address-space selector for sima_ev_storage_desc::addr. More...

enumsima_ev_dtype { ... }

Element types the ABI can describe. More...

enumsima_ev_layout_kind { ... }

Layout family carried in sima_ev_tensor_desc::logical_kind/physical_kind. More...

enumsima_ev_axis_semantic { ... }

Optional per-axis semantic tag (advisory metadata). More...

enumsima_ev_quant_scheme { ... }

Quantization scheme tag for sima_ev_quant_desc::scheme. More...

enumsima_ev_round_mode { ... }

Rounding mode used by quantize/cast kernels. More...

Description

Mirrored EV-side tensor ABI used to communicate with EV74 kernels.

This header captures a candidate common ABI for EV kernels so host and firmware can converge on a single tensor/storage contract instead of per-graph ad hoc structs. It is currently a draft proposal — not yet wired into the live EV runtime — but it documents the shape of the per-op config blocks (tess, detess, quantize/dequantize, detessdequant, preproc) and the shared tensor/storage descriptor types they all reference.

The header is C-callable so firmware-side code can include it directly. All values are POD; layout is fixed by the structs themselves.

Enumerations

anonymous enum

anonymous enum

ABI-wide capacity constants and version identifier.

Enumeration values
SIMA_EV_ABI_VERSION_1Current ABI version tag (carried in sima_ev_abi_header) (= 1)
SIMA_EV_MAX_RANKMaximum tensor rank supported by descriptors (= 8)
SIMA_EV_MAX_IOMaximum number of inputs/outputs per multi-IO kernel (= 32)

Definition at line 34 of file EvTensorAbi.h.

sima_ev_addr_space

enum sima_ev_addr_space

Address-space selector for sima_ev_storage_desc::addr.

Enumeration values
SIMA_EV_ADDR_BUSBus address (canonical long-term) (= 0)
SIMA_EV_ADDR_PHYSPhysical address (transitional) (= 1)

Definition at line 54 of file EvTensorAbi.h.

sima_ev_axis_semantic

enum sima_ev_axis_semantic

Optional per-axis semantic tag (advisory metadata).

Enumeration values
SIMA_EV_AXIS_UNKNOWN (= 0)
SIMA_EV_AXIS_NBatch (= 1)
SIMA_EV_AXIS_CChannel (= 2)
SIMA_EV_AXIS_DDepth (= 3)
SIMA_EV_AXIS_HHeight (= 4)
SIMA_EV_AXIS_WWidth (= 5)

Definition at line 81 of file EvTensorAbi.h.

sima_ev_dtype

enum sima_ev_dtype

Element types the ABI can describe.

Enumeration values
SIMA_EV_DTYPE_INVALID (= 0)
SIMA_EV_DTYPE_INT8 (= 1)
SIMA_EV_DTYPE_INT16 (= 2)
SIMA_EV_DTYPE_INT32 (= 3)
SIMA_EV_DTYPE_BF16 (= 4)
SIMA_EV_DTYPE_FP16 (= 5)
SIMA_EV_DTYPE_FP32 (= 6)
SIMA_EV_DTYPE_UINT8 (= 7)
SIMA_EV_DTYPE_UINT16 (= 8)
SIMA_EV_DTYPE_UINT32 (= 9)

Definition at line 60 of file EvTensorAbi.h.

sima_ev_layout_kind

enum sima_ev_layout_kind

Layout family carried in sima_ev_tensor_desc::logical_kind/physical_kind.

Enumeration values
SIMA_EV_LAYOUT_STRIDEDStandard rank/sizes/strides view (= 0)
SIMA_EV_LAYOUT_TILEDTiled view with explicit tile geometry (= 1)
SIMA_EV_LAYOUT_OPAQUEOpaque blob (kernel-private layout) (= 2)

Definition at line 74 of file EvTensorAbi.h.

sima_ev_op_type

enum sima_ev_op_type

Operation-type tag carried in sima_ev_abi_header::op_type.

Enumeration values
SIMA_EV_OP_INVALIDInvalid/unset (= 0)
SIMA_EV_OP_TESSTessellate (= 1)
SIMA_EV_OP_DETESSDetessellate (= 2)
SIMA_EV_OP_QUANTIZEQuantize (= 3)
SIMA_EV_OP_DEQUANTIZEDequantize (= 4)
SIMA_EV_OP_QUANTTESSFused quantize + tessellate (= 5)
SIMA_EV_OP_DETESSDEQUANTFused detessellate + dequantize (= 6)
SIMA_EV_OP_PREPROCImage preprocessing (= 7)
SIMA_EV_OP_CASTElement-type cast (e.g., BF16 ↔ FP32) (= 8)

Definition at line 41 of file EvTensorAbi.h.

sima_ev_quant_scheme

enum sima_ev_quant_scheme

Quantization scheme tag for sima_ev_quant_desc::scheme.

Enumeration values
SIMA_EV_QUANT_NONENo quantization (other fields zeroed) (= 0)
SIMA_EV_QUANT_PER_TENSOR_AFFINESingle (scale, zero-point) for the whole tensor (= 1)
SIMA_EV_QUANT_PER_AXIS_AFFINEPer-axis (scale, zero-point) arrays (= 2)

Definition at line 91 of file EvTensorAbi.h.

sima_ev_round_mode

enum sima_ev_round_mode

Rounding mode used by quantize/cast kernels.

Enumeration values
SIMA_EV_ROUND_DEFAULT (= 0)
SIMA_EV_ROUND_TO_ZERO (= 1)
SIMA_EV_ROUND_TO_EVEN (= 2)
SIMA_EV_ROUND_TO_POS_INF (= 3)
SIMA_EV_ROUND_TO_NEG_INF (= 4)

Definition at line 98 of file EvTensorAbi.h.


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.