shape_rt.h#

Shape-inference functions for lightweight runtime operators in the ai.rt domain.

namespace onnx_light

Alias that makes onnx-light headers compatible with code that references ONNX_LIGHT_NAMESPACE (the macro used in the standard onnx package).

Set to ONNX_LIGHT_NAMESPACE so both names resolve to the same namespace.

Symbol-visibility attribute for the public onnx-light C++ API.

Defined as empty because onnx-light does not require explicit __declspec(dllexport) or __attribute__((visibility("default"))) annotations — visibility is controlled at the shared-library level. The macro is provided so that vendored ONNX headers that decorate their declarations with ONNX_API compile without modification.

Namespace alias so that ONNX C++ code (and consumers such as onnxruntime) that refers to the literal onnx namespace — rather than the ONNX_NAMESPACE macro — resolves to the onnx-light namespace. The standard onnx package lives in namespace onnx; onnx-light uses onnx_light (via ONNX_LIGHT_NAMESPACE), so this alias keeps onnx-light a true drop-in. It is only introduced when the onnx-light namespace differs from onnx.

namespace onnx_optim
namespace shapes
namespace rt#

Functions

void ComputeShapeDelayedInitializer(ShapesContext &ctx, const NodeProto &node)#

This function computes the output OptimTensor of a DelayedInitializer node and stores it in ctx.

DelayedInitializer is a lightweight runtime-only operator with no inputs. Its output shape is given by the required shape attribute and its element type is given by the required dtype attribute. onnx-light accepts only load_device values "cpu" and "file", requires runtime_device == "cpu", and rejects STRING outputs because that dtype has no raw-byte tensor representation in the runtime.

Validation failures are reported through EXT_ENFORCE_INVALID when node.op_type() is not "DelayedInitializer", when node declares inputs or no outputs, when shape is missing or contains a negative dimension, when dtype is missing or unsupported, or when the device / location attributes are invalid.

Variables

constexpr const char *kAiRtDomain = "ai.rt"#

The ai.rt operator domain string.