減少記憶體消耗

目錄

基於共享記憶體池的分配器

透過配置基於共享記憶體池的分配,可以減少多個會話之間的記憶體消耗。請參閱 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 預構建二進位制檔案。