![]() |
ONNX Runtime
|
Memory allocation interface. More...
#include <onnxruntime_c_api.h>
Public Member Functions | |
OrtStatus * | GetStats (const struct OrtAllocator *this_, OrtKeyValuePairs **out) |
Function used to get the statistics of the allocator. | |
Public Attributes | |
uint32_t | version |
Must be initialized to ORT_API_VERSION. | |
void *(* | Alloc )(struct OrtAllocator *this_, size_t size) |
Returns a pointer to an allocated block of size bytes. | |
void(* | Free )(struct OrtAllocator *this_, void *p) |
Free a block of memory previously allocated with OrtAllocator::Alloc. | |
const struct OrtMemoryInfo *(* | Info )(const struct OrtAllocator *this_) |
Return a pointer to an OrtMemoryInfo that describes this allocator. | |
void *(* | Reserve )(struct OrtAllocator *this_, size_t size) |
Optional allocation function to use for memory allocations made during session initialization. Use this function if you want to separate allocations made by ORT during Run() calls from those made during session initialization. This allows for separate memory management strategies for these allocations. | |
void *(* | AllocOnStream )(struct OrtAllocator *this_, size_t size, OrtSyncStream *stream) |
Allocate using a stream. | |
Memory allocation interface.
Structure of function pointers that defines a memory allocator. This can be created and filled in by the user for custom allocators.
When an allocator is passed to any function, be sure that the allocator object is not destroyed until the last allocated object using it is freed.
OrtStatus * OrtAllocator::GetStats | ( | const struct OrtAllocator * | this_, |
OrtKeyValuePairs ** | out | ||
) |
Function used to get the statistics of the allocator.
Return a pointer to the OrtKeyValuePairs structure that contains the statistics of the allocator. The user should call OrtApi::ReleaseKeyValuePairs when done.
Current known keys are:
The allocator is free to add other entries as appropriate.
void *( * OrtAllocator::Alloc) (struct OrtAllocator *this_, size_t size) |
Returns a pointer to an allocated block of size
bytes.
void *( * OrtAllocator::AllocOnStream) (struct OrtAllocator *this_, size_t size, OrtSyncStream *stream) |
Allocate using a stream.
If the allocator is stream aware this performs allocation using a stream.
Alloc will be used if this is nullptr.
[in] | this_ | OrtAllocator instance |
[in] | size | Size of the allocation in bytes. nullptr if size was 0 or allocation failed. |
[in] | stream | The stream to allocate on. |
size
bytesvoid( * OrtAllocator::Free) (struct OrtAllocator *this_, void *p) |
Free a block of memory previously allocated with OrtAllocator::Alloc.
const struct OrtMemoryInfo *( * OrtAllocator::Info) (const struct OrtAllocator *this_) |
Return a pointer to an OrtMemoryInfo that describes this allocator.
void *( * OrtAllocator::Reserve) (struct OrtAllocator *this_, size_t size) |
Optional allocation function to use for memory allocations made during session initialization. Use this function if you want to separate allocations made by ORT during Run() calls from those made during session initialization. This allows for separate memory management strategies for these allocations.
size
bytes. nullptr if size was 0 or allocation failed.uint32_t OrtAllocator::version |
Must be initialized to ORT_API_VERSION.