peak_memory.h#

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.

Maps the upstream compatibility macro to onnx-light’s explicit proto ABI annotation. This keeps declarations from vendored ONNX headers visible when lib_onnx_proto uses hidden visibility by default.

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 core
namespace compute

Functions

void WritePeakMemoryToMetadata(GraphProto &graph, const ShapesContext &ctx, Device device = Device::kUndefined)#

Computes the estimated peak scratch memory for every node of graph using the shapes already inferred into ctx, and records the result in metadata_props under :cpp:var:kNodePeakMemoryMetadataKey. Nodes whose estimated peak memory is zero (either the operator has no registered peak-memory function or all relevant input shapes are symbolic) are left untouched.

The peak memory accounts only for the extra scratch/working memory an operator’s computation allocates, not the memory already accounted for by its inputs and outputs.

Parameters:
  • graphGraph whose nodes are mutated in place.

  • ctx – Shapes context already populated with the inferred descriptors for graph.

  • device – Logical device passed to the peak-memory dispatch function (defaults to :cpp:enumerator:Device::kUndefined).

Variables

constexpr const char *kNodePeakMemoryMetadataKey = "onnx_light.peak_memory"#

Metadata key under which :cpp:func:WritePeakMemoryToMetadata records, for every node with a non-zero peak-memory estimate, the estimated peak scratch memory in bytes. The associated value is the decimal string representation of the int64_t byte count.