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 int pad_value = 0;
80 std::string input_img_type;
81 std::string output_img_type;
82 std::string scaling_type;
83 std::string padding_type;
84 std::string input_dtype;
85 std::string output_dtype;
86 std::vector<GraphTensorContract> input_tensors;
87 std::vector<GraphTensorContract> output_tensors;
88 std::vector<std::vector<int>> slice_shapes;
91 std::string input_slot_name;
92 std::vector<std::string> runtime_output_slot_names;
93 std::vector<std::string> runtime_output_logical_layout_list;
94 std::vector<float> dq_scale_array;
95 std::vector<int32_t> dq_zp_array;
96 // True when the tiled side of the op uses c16-padded channel storage
97 // (MPK contract sets align_c16 or cblock). Tells the EV tile descriptor
98 // builder to clear SIMA_EV_TILED_FLAG_COMPACT_CHANNELS so the kernel
99 // strides through the per-row C-padding instead of treating the buffer as
100 // dense. Required for e.g. resnet50 (1000 logical → 1008 stored channels).
101 bool c16_packed_io = false;
102};
103
105 std::string* error_message = nullptr);
106
109 std::string* error_message = nullptr);
110
113 std::string* error_message = nullptr);
114
115bool build_prepared_stage_from_manifest_context(const GstContext* static_manifest_context,
116 const char* stage_id_or_name,
117 const char* element_name_fallback,
119 std::string* error_message = nullptr);
120
122 PreparedRuntimeDescriptor prepared_runtime,
123 std::string* error_message = nullptr);
124
125} // namespace simaai::neat

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.