减少内存消耗
目录
基于共享内存池的分配器
通过配置基于共享内存池的分配,可以在多个会话之间减少内存消耗。请参阅 C API 文档中关于会话之间共享分配器
的部分。
mimalloc 分配器用法
ONNX Runtime 支持使用 mimalloc 覆盖内存分配,mimalloc 是一种快速、通用的分配器。
根据您的模型和用法,它可以带来个位数或两位数的性能提升。GitHub README 页面描述了如何利用 mimalloc 进行性能调优的各种场景。
mimalloc 是 ONNX Runtime 源代码树中的一个子模块。在 Windows 上,可以使用 --use_mimalloc
构建标志来构建 mimalloc 的静态版本并将其链接到 ONNX Runtime。这将把 ONNX Runtime 的分配器以及所有 new/delete 调用重定向到 mimalloc。目前,在 Linux 上没有使用 mimalloc 的特殊规定。建议使用 LD_PRELOAD 机制,您可以使用单独构建/获取的 mimalloc 预构建二进制文件。