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