减少内存消耗
目录
基于共享内存池的分配器
通过配置基于共享内存池的分配,可以减少多个会话之间的内存消耗。请参阅 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 预构建二进制文件。