Skip to main content

nodes Namespace

Definition

namespace simaai::neat::graph::nodes { ... }

Classes Index

classFanOut

Stage executor that duplicates each incoming sample to multiple output ports. More...

structFanOutOptions

Configuration for a FanOut stage executor. More...

classJoinBundle

Stage executor that joins samples from multiple input ports into a single bundled output. More...

structJoinBundleOptions

Configuration for a JoinBundle stage executor. More...

classJoinEncodedWithMeta

Stage executor that bundles an encoded payload (e.g., H.264) with associated metadata. More...

structJoinEncodedWithMetaOptions

Configuration for a JoinEncodedWithMeta stage executor. More...

classLambdaStage

Generic stage executor whose behavior is supplied by user-provided callbacks. More...

classPipelineNode

Runtime-graph node that wraps a builder-side NodeGroup (or single Node) as a pipeline-backend node. More...

classStageModelExecutor

Stage executor that runs a Model's inference pipeline as a runtime-graph stage. More...

structStageModelExecutorOptions

Configuration for a StageModelExecutor stage. More...

classStageNode

Generic runtime-graph node that adapts a StageExecutor factory into a Node. More...

structStageNodeOptions

Options controlling how a StageNode is instantiated and scheduled by the runtime. More...

classStampFrameId

Stage executor that assigns a monotonically-increasing frame id per stream. More...

classStreamMetadata

Stage executor that fills in stream metadata defaults on passing samples. More...

classStreamScheduler

Stage executor that round-robin-schedules samples across multiple streams. More...

structStreamSchedulerOptions

Configuration for a StreamScheduler stage. More...

Typedefs Index

usingLambdaOnInput = std::function< void(StageMsg &&, std::vector< StageOutMsg > &, const StagePorts &)>

Callback invoked by LambdaStage for every incoming StageMsg; receives the bound StagePorts. More...

usingLambdaOnTick = std::function< void(std::int64_t, std::vector< StageOutMsg > &, const StagePorts &)>

Callback invoked by LambdaStage on each periodic tick; gets the current time in nanoseconds and the bound StagePorts. More...

usingSampleMapFn = std::function< void(Sample &)>

In-place sample mutator used by Map(SampleMapFn, ...). More...

usingTensorMapFn = std::function< void(Sample &, simaai::neat::Tensor &)>

In-place sample + tensor mutator used by TensorMap(TensorMapFn, ...). More...

usingSampleMapTransformFn = std::function< Sample(Sample)>

Pure transform used by Map(SampleMapTransformFn, ...) — returns a new Sample. More...

Enumerations Index

enum classJoinKeyPolicy { ... }

Selects how the JoinBundle stage groups samples coming from different inputs. More...

enum classStageKeyBy { ... }

Selects how the runtime keys messages for a stage node's instance assignment. More...

enum classStreamDropPolicy { ... }

Policy used by StreamScheduler when a per-stream queue overflows. More...

Functions Index

std::shared_ptr< simaai::neat::graph::Node >Pipeline (const simaai::neat::NodeGroup &group, std::string label={})

Wrap a NodeGroup (by const ref) in a PipelineNode graph node. More...

std::shared_ptr< simaai::neat::graph::Node >Pipeline (simaai::neat::NodeGroup &&group, std::string label={})

Wrap a NodeGroup (by rvalue) in a PipelineNode graph node. More...

std::shared_ptr< simaai::neat::graph::Node >Pipeline (std::shared_ptr< simaai::neat::Node > node, std::string label={})

Wrap a builder-Node shared pointer in a PipelineNode graph node. More...

std::shared_ptr< simaai::neat::graph::Node >Stage (std::string kind, StageNode::StageExecutorFactory factory, std::vector< PortDesc > inputs, std::vector< PortDesc > outputs, std::string label={}, StageNode::OutputSpecFn out_fn={}, StageNodeOptions options={})

Construct a StageNode graph node from an executor factory and port descriptions. More...

std::shared_ptr< simaai::neat::graph::Node >FanOutNode (std::vector< std::string > outputs, std::string label={}, std::string input="in")

Convenience helper that wraps a FanOut executor in a StageNode. More...

std::shared_ptr< simaai::neat::graph::Node >JoinBundleNode (std::vector< std::string > inputs, std::string label={}, std::string output="bundle", JoinBundleOptions opt={})

Convenience helper that wraps a JoinBundle executor in a StageNode. More...

std::shared_ptr< simaai::neat::graph::Node >JoinEncodedWithMetaNode (std::vector< std::string > inputs, std::string label={}, std::string output="bundle")

Convenience helper that wraps a JoinEncodedWithMeta executor in a StageNode. More...

std::shared_ptr< simaai::neat::graph::Node >LambdaStageNode (std::string kind, std::vector< std::string > inputs, std::vector< std::string > outputs, LambdaOnInput on_input, std::string label={}, StageNodeOptions options={}, StageNode::OutputSpecFn out_fn={}, LambdaOnTick on_tick={})

Convenience helper that wraps a LambdaStage in a StageNode. More...

std::shared_ptr< simaai::neat::graph::Node >Map (SampleMapFn fn, std::string label={}, StageNodeOptions options={}, StageNode::OutputSpecFn out_fn={})

Build a stage node that applies an in-place mutator to each sample. More...

std::shared_ptr< simaai::neat::graph::Node >TensorMap (TensorMapFn fn, std::string label={}, StageNodeOptions options={}, StageNode::OutputSpecFn out_fn={})

Build a stage node that applies an in-place mutator to each sample's primary tensor. More...

std::shared_ptr< simaai::neat::graph::Node >Map (SampleMapTransformFn fn, std::string label={}, StageNodeOptions options={}, StageNode::OutputSpecFn out_fn={})

Build a stage node that returns a transformed Sample from each input. More...

std::shared_ptr< simaai::neat::graph::Node >StageModelExecutorNode (const StageModelExecutorOptions &opt, std::string label={}, StageNodeOptions node_opt={})

Convenience helper that wraps a StageModelExecutor in a StageNode. More...

std::shared_ptr< simaai::neat::graph::Node >StampFrameIdNode (std::string label={})

Convenience helper that wraps a StampFrameId executor in a StageNode. More...

std::shared_ptr< simaai::neat::graph::Node >StreamMetadataNode (StreamMetadataDefaults defaults={}, std::string label={})

Convenience helper that wraps a StreamMetadata executor in a StageNode. More...

std::shared_ptr< simaai::neat::graph::Node >StreamSchedulerNode (StreamSchedulerOptions opt={}, std::string label={}, std::string input="in", std::string output="out")

Convenience helper that wraps a StreamScheduler executor in a StageNode. More...

Typedefs

LambdaOnInput

using simaai::neat::graph::nodes::LambdaOnInput = typedef std::function<void(StageMsg&&, std::vector<StageOutMsg>&, const StagePorts&)>

Callback invoked by LambdaStage for every incoming StageMsg; receives the bound StagePorts.

Definition at line 21 of file LambdaStage.h.

21using LambdaOnInput = std::function<void(StageMsg&&, std::vector<StageOutMsg>&, const StagePorts&)>;

LambdaOnTick

using simaai::neat::graph::nodes::LambdaOnTick = typedef std::function<void(std::int64_t, std::vector<StageOutMsg>&, const StagePorts&)>

Callback invoked by LambdaStage on each periodic tick; gets the current time in nanoseconds and the bound StagePorts.

Definition at line 24 of file LambdaStage.h.

25 std::function<void(std::int64_t, std::vector<StageOutMsg>&, const StagePorts&)>;

SampleMapFn

using simaai::neat::graph::nodes::SampleMapFn = typedef std::function<void(Sample&)>

In-place sample mutator used by Map(SampleMapFn, ...).

Definition at line 24 of file Map.h.

24using SampleMapFn = std::function<void(Sample&)>;

SampleMapTransformFn

using simaai::neat::graph::nodes::SampleMapTransformFn = typedef std::function<Sample(Sample)>

Pure transform used by Map(SampleMapTransformFn, ...) — returns a new Sample.

Definition at line 28 of file Map.h.

28using SampleMapTransformFn = std::function<Sample(Sample)>;

TensorMapFn

using simaai::neat::graph::nodes::TensorMapFn = typedef std::function<void(Sample&, simaai::neat::Tensor&)>

In-place sample + tensor mutator used by TensorMap(TensorMapFn, ...).

Definition at line 26 of file Map.h.

26using TensorMapFn = std::function<void(Sample&, simaai::neat::Tensor&)>;

Functions

FanOutNode()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::FanOutNode (std::vector< std::string > outputs, std::string label={}, std::string input="in")

Convenience helper that wraps a FanOut executor in a StageNode.

Parameters
outputs

Names of the output ports to replicate the input onto.

label

Optional human-readable label.

input

Name of the single input port (default "in").

Returns

Shared pointer to a graph::Node ready for insertion in a runtime graph.

Definition at line 67 of file FanOut.h.

JoinBundleNode()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::JoinBundleNode (std::vector< std::string > inputs, std::string label={}, std::string output="bundle", JoinBundleOptions opt={})

Convenience helper that wraps a JoinBundle executor in a StageNode.

Parameters
inputs

Names of the input ports to join.

label

Optional human-readable label.

output

Name of the bundle output port (default "bundle").

opt

Optional join configuration overrides.

Returns

Shared pointer to a graph::Node ready for insertion in a runtime graph.

Definition at line 113 of file JoinBundle.h.

JoinEncodedWithMetaNode()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::JoinEncodedWithMetaNode (std::vector< std::string > inputs, std::string label={}, std::string output="bundle")

Convenience helper that wraps a JoinEncodedWithMeta executor in a StageNode.

Parameters
inputs

Names of the input ports (typically encoded + metadata).

label

Optional human-readable label.

output

Name of the bundle output port (default "bundle").

Returns

Shared pointer to a graph::Node ready for insertion in a runtime graph.

Definition at line 86 of file JoinEncodedWithMeta.h.

LambdaStageNode()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::LambdaStageNode (std::string kind, std::vector< std::string > inputs, std::vector< std::string > outputs, LambdaOnInput on_input, std::string label={}, StageNodeOptions options={}, StageNode::OutputSpecFn out_fn={}, LambdaOnTick on_tick={})
inline

Convenience helper that wraps a LambdaStage in a StageNode.

Parameters
kind

Node kind label used in diagnostics.

inputs

Names of the input ports to expose.

outputs

Names of the output ports to expose.

on_input

Required input handler.

label

Optional human-readable label.

options

Optional StageNode options (instances, keying, inflight bound).

out_fn

Optional output-spec resolver.

on_tick

Optional tick handler.

Returns

Shared pointer to a graph::Node ready for insertion in a runtime graph.

Definition at line 84 of file LambdaStage.h.

84LambdaStageNode(std::string kind, std::vector<std::string> inputs, std::vector<std::string> outputs,
85 LambdaOnInput on_input, std::string label = {}, StageNodeOptions options = {},
86 StageNode::OutputSpecFn out_fn = {}, LambdaOnTick on_tick = {}) {
87 LambdaOnInput fn = std::move(on_input);
88 LambdaOnTick tick = std::move(on_tick);
89 StageNode::StageExecutorFactory factory = [fn, tick]() mutable {
90 return std::make_unique<LambdaStage>(fn, tick);
91 };
92
93 std::vector<PortDesc> in_ports;
94 in_ports.reserve(inputs.size());
95 for (auto& name : inputs) {
96 in_ports.push_back(PortDesc{.name = std::move(name), .spec = OutputSpec{}});
97 }
98
99 std::vector<PortDesc> out_ports;
100 out_ports.reserve(outputs.size());
101 for (auto& name : outputs) {
102 out_ports.push_back(PortDesc{.name = std::move(name), .spec = OutputSpec{}});
103 }
104
105 return std::make_shared<StageNode>(std::move(kind), std::move(factory), std::move(in_ports),
106 std::move(out_ports), std::move(label), std::move(out_fn),
107 std::move(options));
108}

Map()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::Map (SampleMapFn fn, std::string label={}, StageNodeOptions options={}, StageNode::OutputSpecFn out_fn={})

Build a stage node that applies an in-place mutator to each sample.

Parameters
fn

Mutator invoked once per incoming Sample.

label

Optional human-readable label.

options

Optional StageNode options.

out_fn

Optional output-spec resolver.

Returns

Shared pointer to a graph::Node exposing the map stage.

Definition at line 39 of file Map.h.

Map()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::Map (SampleMapTransformFn fn, std::string label={}, StageNodeOptions options={}, StageNode::OutputSpecFn out_fn={})

Build a stage node that returns a transformed Sample from each input.

Parameters
fn

Pure transform invoked once per incoming Sample.

label

Optional human-readable label.

options

Optional StageNode options.

out_fn

Optional output-spec resolver.

Returns

Shared pointer to a graph::Node exposing the map-transform stage.

Definition at line 65 of file Map.h.

Pipeline()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::Pipeline (const simaai::neat::NodeGroup & group, std::string label={})
inline

Wrap a NodeGroup (by const ref) in a PipelineNode graph node.

Definition at line 19 of file Adapters.h.

19inline std::shared_ptr<simaai::neat::graph::Node> Pipeline(const simaai::neat::NodeGroup& group,
20 std::string label = {}) {
21 return std::make_shared<PipelineNode>(group, std::move(label));
22}

Pipeline()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::Pipeline (simaai::neat::NodeGroup && group, std::string label={})
inline

Wrap a NodeGroup (by rvalue) in a PipelineNode graph node.

Definition at line 25 of file Adapters.h.

25inline std::shared_ptr<simaai::neat::graph::Node> Pipeline(simaai::neat::NodeGroup&& group,
26 std::string label = {}) {
27 return std::make_shared<PipelineNode>(std::move(group), std::move(label));
28}

Pipeline()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::Pipeline (std::shared_ptr< simaai::neat::Node > node, std::string label={})
inline

Wrap a builder-Node shared pointer in a PipelineNode graph node.

Definition at line 31 of file Adapters.h.

31inline std::shared_ptr<simaai::neat::graph::Node> Pipeline(std::shared_ptr<simaai::neat::Node> node,
32 std::string label = {}) {
33 return std::make_shared<PipelineNode>(std::move(node), std::move(label));
34}

Stage()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::Stage (std::string kind, StageNode::StageExecutorFactory factory, std::vector< PortDesc > inputs, std::vector< PortDesc > outputs, std::string label={}, StageNode::OutputSpecFn out_fn={}, StageNodeOptions options={})
inline

Construct a StageNode graph node from an executor factory and port descriptions.

Definition at line 38 of file Adapters.h.

38Stage(std::string kind, StageNode::StageExecutorFactory factory, std::vector<PortDesc> inputs,
39 std::vector<PortDesc> outputs, std::string label = {}, StageNode::OutputSpecFn out_fn = {},
40 StageNodeOptions options = {}) {
41 return std::make_shared<StageNode>(std::move(kind), std::move(factory), std::move(inputs),
42 std::move(outputs), std::move(label), std::move(out_fn),
43 std::move(options));
44}

StageModelExecutorNode()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::StageModelExecutorNode (const StageModelExecutorOptions & opt, std::string label={}, StageNodeOptions node_opt={})

Convenience helper that wraps a StageModelExecutor in a StageNode.

Parameters
opt

Inference configuration (model + which stages to run).

label

Optional human-readable label.

node_opt

Optional StageNode options.

Returns

Shared pointer to a graph::Node ready for insertion in a runtime graph.

Definition at line 75 of file StageModelExecutor.h.

StampFrameIdNode()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::StampFrameIdNode (std::string label={})

Convenience helper that wraps a StampFrameId executor in a StageNode.

Parameters
label

Optional human-readable label.

Returns

Shared pointer to a graph::Node ready for insertion in a runtime graph.

Definition at line 48 of file StampFrameId.h.

StreamMetadataNode()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::StreamMetadataNode (StreamMetadataDefaults defaults={}, std::string label={})

Convenience helper that wraps a StreamMetadata executor in a StageNode.

Parameters
defaults

Defaults to apply to passing samples.

label

Optional human-readable label.

Returns

Shared pointer to a graph::Node ready for insertion in a runtime graph.

Definition at line 54 of file StreamMetadata.h.

StreamSchedulerNode()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::StreamSchedulerNode (StreamSchedulerOptions opt={}, std::string label={}, std::string input="in", std::string output="out")

Convenience helper that wraps a StreamScheduler executor in a StageNode.

Parameters
opt

Optional scheduling configuration.

label

Optional human-readable label.

input

Name of the single input port (default "in").

output

Name of the single output port (default "out").

Returns

Shared pointer to a graph::Node ready for insertion in a runtime graph.

Definition at line 92 of file StreamScheduler.h.

TensorMap()

std::shared_ptr< simaai::neat::graph::Node > simaai::neat::graph::nodes::TensorMap (TensorMapFn fn, std::string label={}, StageNodeOptions options={}, StageNode::OutputSpecFn out_fn={})

Build a stage node that applies an in-place mutator to each sample's primary tensor.

Parameters
fn

Mutator invoked with the Sample and its primary Tensor.

label

Optional human-readable label.

options

Optional StageNode options.

out_fn

Optional output-spec resolver.

Returns

Shared pointer to a graph::Node exposing the tensor-map stage.

Definition at line 52 of file Map.h.


The documentation for this namespace was generated from the following files:


Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.