Skip to main content

PreparedRuntimeBridge.h File

Included Headers

#include <gst/gst.h> #include <gst/SimaPreparedRuntimeAbi.h> #include <optional> #include <string> #include <vector>

Namespaces Index

namespacesimaai
namespaceneat

Classes Index

structPreparedRuntimeDescriptor
structGraphTensorContract
structGraphQuantContract
structGraphProcessMlaStageRequest
structGraphProcessCvuStageRequest

File Listing

The file content with the documentation metadata removed is:

1#pragma once
2
3#include <gst/gst.h>
4
6
7#include <optional>
8#include <string>
9#include <vector>
10
11namespace simaai::neat {
12
14 std::string session_id;
15 std::string model_id;
16 std::vector<simaai::gst::PreparedStageSpec> stages;
17};
18
19enum class GraphTensorMaterializationKind : std::uint8_t {
20 Unknown = 0,
21 Direct = 1,
22 OffsetView = 2,
24};
25
27 int tensor_index = -1;
28 int physical_index = -1;
30 std::string name;
31 std::string segment_name;
32 std::string dtype;
33 std::vector<std::int64_t> shape;
34 std::uint64_t size_bytes = 0U;
35 std::int64_t byte_offset = 0;
36 std::int64_t source_byte_offset = 0;
37 std::vector<std::int64_t> stride_bytes;
39};
40
42 std::vector<double> scales;
43 std::vector<std::int64_t> zero_points;
44 int axis = -1;
45};
46
48 std::string stage_key;
49 std::string model_path;
50 gint32 batch_size = 0;
51 gint32 batch_model = 0;
52 std::vector<GraphTensorContract> dispatcher_inputs;
53 std::vector<GraphTensorContract> logical_inputs;
54 std::vector<GraphTensorContract> physical_inputs;
55 std::vector<GraphTensorContract> stage_outputs;
56 std::vector<GraphTensorContract> logical_outputs;
57 std::optional<GraphQuantContract> output_quant;
58};
59
61 std::string stage_key;
62 std::string graph_name;
63 std::string requested_run_target = "AUTO";
64 std::string run_target = "AUTO";
65 std::string resolved_exec_backend = "EVXX";
67 int graph_id = 0;
68 int batch_size = 0;
69 int round_off = 0;
70 int byte_align = 0;
71 int aspect_ratio = -1;
72 int normalize = -1;
73 int tessellate = -1;
74 int scaled_width = 0;
75 int scaled_height = 0;
76 int input_stride = 0;
77 int output_stride = 0;
78 int input_offset = 0;
79 std::string input_img_type;
80 std::string output_img_type;
81 std::string scaling_type;
82 std::string padding_type;
83 std::string input_dtype;
84 std::string output_dtype;
85 std::vector<GraphTensorContract> input_tensors;
86 std::vector<GraphTensorContract> output_tensors;
87 std::vector<std::vector<int>> slice_shapes;
90 std::string input_slot_name;
91 std::vector<std::string> runtime_output_slot_names;
92 std::vector<std::string> runtime_output_logical_layout_list;
93 std::vector<float> dq_scale_array;
94 std::vector<int32_t> dq_zp_array;
95 // True when the tiled side of the op uses c16-padded channel storage
96 // (MPK contract sets align_c16 or cblock). Tells the EV tile descriptor
97 // builder to clear SIMA_EV_TILED_FLAG_COMPACT_CHANNELS so the kernel
98 // strides through the per-row C-padding instead of treating the buffer as
99 // dense. Required for e.g. resnet50 (1000 logical → 1008 stored channels).
100 bool c16_packed_io = false;
101};
102
104 std::string* error_message = nullptr);
105
108 std::string* error_message = nullptr);
109
112 std::string* error_message = nullptr);
113
114bool build_prepared_stage_from_manifest_context(const GstContext* static_manifest_context,
115 const char* stage_id_or_name,
116 const char* element_name_fallback,
118 std::string* error_message = nullptr);
119
121 PreparedRuntimeDescriptor prepared_runtime,
122 std::string* error_message = nullptr);
123
124} // namespace simaai::neat

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.