减少内存消耗

目录

基于共享 arena 的分配器

通过配置基于共享 arena 的分配,可以在多个会话之间减少内存消耗。 请参阅 C API 文档在会话之间共享分配器 部分。

mimalloc 分配器用法

ONNX Runtime 支持使用 mimalloc(一种快速的通用分配器)覆盖内存分配。

根据您的模型和用法,它可以实现个位数或两位数的性能提升。 GitHub README 页面描述了关于如何利用 mimalloc 进行性能调优的各种场景。

mimalloc 是 ONNX Runtime 源代码树中的一个子模块。 在 Windows 上,可以使用 --use_mimalloc 构建标志,该标志构建 mimalloc 的静态版本并将其链接到 ONNX Runtime。 这会将 ONNX Runtime 分配器和所有 new/delete 调用重定向到 mimalloc。 目前,在 Linux 上使用 mimalloc 没有任何特殊规定。 建议使用 LD_PRELOAD 机制,使用您可以单独构建/获取的 mimalloc 预构建二进制文件。