{
  "$schema": "https://ambiqai.github.io/helia-ui/schema/reference-model-1.json",
  "generatedFrom": {
    "sourceCommit": "70611e608778a432566e30965e8b4bc7ea75aa36",
    "tool": "doxyref",
    "version": "1.17.0"
  },
  "language": "cpp",
  "modules": [
    {
      "description": "Allocation accounting for memory diagnostics.",
      "name": "RecordingMicroAllocator",
      "path": "recordingmicroallocator",
      "submodules": [],
      "summary": "Allocation accounting for memory diagnostics.",
      "symbols": [
        {
          "description": "Utility subclass of `MicroAllocator` that records all allocations inside the arena. A summary of allocations can be logged through the ErrorReporter by invoking LogAllocations(). This special allocator requires an instance of RecordingSingleArenaBufferAllocator to capture allocations in the head and tail. Arena allocation recording can be retrieved by type through the `GetRecordedAllocation()` function. This class should only be used for auditing memory usage or integration testing.",
          "examples": [],
          "id": "tflite::RecordingMicroAllocator",
          "kind": "class",
          "language": "cpp",
          "members": [
            {
              "description": "",
              "examples": [],
              "id": "tflite::RecordingMicroAllocator::Create",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "Create",
              "params": [
                {
                  "description": "",
                  "name": "tensor_arena",
                  "type": "uint8_t *"
                },
                {
                  "description": "",
                  "name": "arena_size",
                  "type": "size_t"
                }
              ],
              "raises": [],
              "returns": [],
              "signature": "static RecordingMicroAllocator * tflite::RecordingMicroAllocator::Create(uint8_t *tensor_arena, size_t arena_size)",
              "source": {
                "line": 62,
                "path": "tensorflow/lite/micro/recording_micro_allocator.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/recording_micro_allocator.h#L62"
              },
              "summary": ""
            },
            {
              "description": "Returns the fixed amount of memory overhead of `RecordingMicroAllocator`.",
              "examples": [],
              "id": "tflite::RecordingMicroAllocator::GetDefaultTailUsage",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "GetDefaultTailUsage",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "static size_t tflite::RecordingMicroAllocator::GetDefaultTailUsage()",
              "source": {
                "line": 66,
                "path": "tensorflow/lite/micro/recording_micro_allocator.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/recording_micro_allocator.h#L66"
              },
              "summary": "Returns the fixed amount of memory overhead of RecordingMicroAllocator."
            },
            {
              "description": "Returns the recorded allocations information for a given allocation type.",
              "examples": [],
              "id": "tflite::RecordingMicroAllocator::GetRecordedAllocation",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "GetRecordedAllocation",
              "params": [
                {
                  "description": "",
                  "name": "allocation_type",
                  "type": "RecordedAllocationType"
                }
              ],
              "raises": [],
              "returns": [],
              "signature": "RecordedAllocation tflite::RecordingMicroAllocator::GetRecordedAllocation(RecordedAllocationType allocation_type) const",
              "source": {
                "line": 69,
                "path": "tensorflow/lite/micro/recording_micro_allocator.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/recording_micro_allocator.h#L69"
              },
              "summary": "Returns the recorded allocations information for a given allocation type."
            },
            {
              "description": "",
              "examples": [],
              "id": "tflite::RecordingMicroAllocator::GetSimpleMemoryAllocator",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "GetSimpleMemoryAllocator",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "const RecordingSingleArenaBufferAllocator * tflite::RecordingMicroAllocator::GetSimpleMemoryAllocator() const",
              "source": {
                "line": 72,
                "path": "tensorflow/lite/micro/recording_micro_allocator.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/recording_micro_allocator.h#L72"
              },
              "summary": ""
            },
            {
              "description": "Logs out through the ErrorReporter all allocation recordings by type defined in `RecordedAllocationType`.",
              "examples": [],
              "id": "tflite::RecordingMicroAllocator::PrintAllocations",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "PrintAllocations",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "void tflite::RecordingMicroAllocator::PrintAllocations() const",
              "source": {
                "line": 76,
                "path": "tensorflow/lite/micro/recording_micro_allocator.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/recording_micro_allocator.h#L76"
              },
              "summary": "Logs out through the ErrorReporter all allocation recordings by type defined in RecordedAllocationType."
            },
            {
              "description": "Allocates persistent buffer which has the same life time as the allocator. The memory is immediately available and is allocated from the tail of the arena.",
              "examples": [],
              "id": "tflite::RecordingMicroAllocator::AllocatePersistentBuffer",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "AllocatePersistentBuffer",
              "params": [
                {
                  "description": "",
                  "name": "bytes",
                  "type": "size_t"
                }
              ],
              "raises": [],
              "returns": [],
              "signature": "void * tflite::RecordingMicroAllocator::AllocatePersistentBuffer(size_t bytes)",
              "source": {
                "line": 78,
                "path": "tensorflow/lite/micro/recording_micro_allocator.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/recording_micro_allocator.h#L78"
              },
              "summary": "Allocates persistent buffer which has the same life time as the allocator."
            },
            {
              "description": "Allocates an array in the arena to hold pointers to the node and registration pointers required to represent the inference graph of the model.",
              "examples": [],
              "id": "tflite::RecordingMicroAllocator::AllocateNodeAndRegistrations",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "AllocateNodeAndRegistrations",
              "params": [
                {
                  "description": "",
                  "name": "model",
                  "type": "const Model *"
                },
                {
                  "description": "",
                  "name": "subgraph_allocations",
                  "type": "SubgraphAllocations *"
                }
              ],
              "raises": [],
              "returns": [],
              "signature": "TfLiteStatus tflite::RecordingMicroAllocator::AllocateNodeAndRegistrations(\n    const Model *model,\n    SubgraphAllocations *subgraph_allocations\n)",
              "source": {
                "line": 81,
                "path": "tensorflow/lite/micro/recording_micro_allocator.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/recording_micro_allocator.h#L81"
              },
              "summary": "Allocates an array in the arena to hold pointers to the node and registration pointers required to represent the inference graph of the model."
            },
            {
              "description": "Allocates the list of persistent TfLiteEvalTensors that are used for the \"eval\" phase of model inference. These structs will be the source of truth for all tensor buffers.",
              "examples": [],
              "id": "tflite::RecordingMicroAllocator::AllocateTfLiteEvalTensors",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "AllocateTfLiteEvalTensors",
              "params": [
                {
                  "description": "",
                  "name": "model",
                  "type": "const Model *"
                },
                {
                  "description": "",
                  "name": "subgraph_allocations",
                  "type": "SubgraphAllocations *"
                }
              ],
              "raises": [],
              "returns": [],
              "signature": "TfLiteStatus tflite::RecordingMicroAllocator::AllocateTfLiteEvalTensors(\n    const Model *model,\n    SubgraphAllocations *subgraph_allocations\n)",
              "source": {
                "line": 83,
                "path": "tensorflow/lite/micro/recording_micro_allocator.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/recording_micro_allocator.h#L83"
              },
              "summary": "Allocates the list of persistent TfLiteEvalTensors that are used for the \"eval\" phase of model inference."
            },
            {
              "description": "Allocates persistent tensor buffers for variable tensors in the subgraph. Online and offline variable tensors are handled differently hence the offline_planner_offsets parameter is needed.",
              "examples": [],
              "id": "tflite::RecordingMicroAllocator::AllocateVariables",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "AllocateVariables",
              "params": [
                {
                  "description": "",
                  "name": "subgraph",
                  "type": "const SubGraph *"
                },
                {
                  "description": "",
                  "name": "eval_tensors",
                  "type": "TfLiteEvalTensor *"
                },
                {
                  "description": "",
                  "name": "offline_planner_offsets",
                  "type": "const int32_t *"
                }
              ],
              "raises": [],
              "returns": [],
              "signature": "TfLiteStatus tflite::RecordingMicroAllocator::AllocateVariables(\n    const SubGraph *subgraph,\n    TfLiteEvalTensor *eval_tensors,\n    const int32_t *offline_planner_offsets\n)",
              "source": {
                "line": 85,
                "path": "tensorflow/lite/micro/recording_micro_allocator.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/recording_micro_allocator.h#L85"
              },
              "summary": "Allocates persistent tensor buffers for variable tensors in the subgraph."
            },
            {
              "description": "TODO(b/162311891): Once all kernels have been updated to the new API drop this method. It is only used to record `TfLiteTensor` persistent allocations.",
              "examples": [],
              "id": "tflite::RecordingMicroAllocator::AllocatePersistentTfLiteTensorInternal",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "AllocatePersistentTfLiteTensorInternal",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "TfLiteTensor * tflite::RecordingMicroAllocator::AllocatePersistentTfLiteTensorInternal()",
              "source": {
                "line": 90,
                "path": "tensorflow/lite/micro/recording_micro_allocator.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/recording_micro_allocator.h#L90"
              },
              "summary": "TODO(b/162311891): Once all kernels have been updated to the new API drop this method."
            },
            {
              "description": "TODO(b/162311891): Once all kernels have been updated to the new API drop this function since all allocations for quantized data will take place in the temp section.",
              "examples": [],
              "id": "tflite::RecordingMicroAllocator::PopulateTfLiteTensorFromFlatbuffer",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "PopulateTfLiteTensorFromFlatbuffer",
              "params": [
                {
                  "description": "",
                  "name": "model",
                  "type": "const Model *"
                },
                {
                  "description": "",
                  "name": "tensor",
                  "type": "TfLiteTensor *"
                },
                {
                  "description": "",
                  "name": "tensor_index",
                  "type": "int"
                },
                {
                  "description": "",
                  "name": "subgraph_index",
                  "type": "int"
                },
                {
                  "description": "",
                  "name": "allocate_temp",
                  "type": "bool"
                }
              ],
              "raises": [],
              "returns": [],
              "signature": "TfLiteStatus tflite::RecordingMicroAllocator::PopulateTfLiteTensorFromFlatbuffer(\n    const Model *model,\n    TfLiteTensor *tensor,\n    int tensor_index,\n    int subgraph_index,\n    bool allocate_temp\n)",
              "source": {
                "line": 95,
                "path": "tensorflow/lite/micro/recording_micro_allocator.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/recording_micro_allocator.h#L95"
              },
              "summary": "TODO(b/162311891): Once all kernels have been updated to the new API drop this function since all allocations for quantized data will take place in the temp se…"
            }
          ],
          "name": "RecordingMicroAllocator",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "class RecordingMicroAllocator : public tflite::MicroAllocator",
          "source": {
            "line": 60,
            "path": "tensorflow/lite/micro/recording_micro_allocator.h",
            "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/recording_micro_allocator.h#L60"
          },
          "summary": "Utility subclass of MicroAllocator that records all allocations inside the arena."
        }
      ]
    }
  ],
  "name": "heliaRT"
}
