評價此頁

MPS 環境變數#

建立日期:2025 年 6 月 11 日 | 最後更新日期:2025 年 6 月 11 日

PyTorch 環境變數

變數

描述

PYTORCH_DEBUG_MPS_ALLOCATOR

如果設定為 1,則將分配器日誌級別設定為詳細。

PYTORCH_MPS_LOG_PROFILE_INFO

將日誌選項位掩碼設定為 MPSProfiler。請參閱 aten/src/ATen/mps/MPSProfiler.h 中的 LogOptions 列舉。

PYTORCH_MPS_TRACE_SIGNPOSTS

將配置檔案和 signpost 位掩碼設定為 MPSProfiler。請參閱 ProfileOptionsSignpostTypes

PYTORCH_MPS_HIGH_WATERMARK_RATIO

MPS 分配器的高水位線比例。預設值為 1.7。

PYTORCH_MPS_LOW_WATERMARK_RATIO

MPS 分配器的低水位線比例。預設值為 1.4(統一)或 1.0(離散)。

PYTORCH_MPS_FAST_MATH

如果設定為 1,則為 MPS 核心啟用快速數學。請參閱 Metal Shading Language Spec 的第 1.6.3 節。

PYTORCH_MPS_PREFER_METAL

如果設定為 1,則使用 metal 核心而不是 MPS Graph API。用於矩陣乘法。

PYTORCH_ENABLE_MPS_FALLBACK

如果設定為 1,則在 MPS 運算元不支援時回退到 CPU。

注意

高水位線比例是允許的總分配量的硬限制

  • 0.0 : 停用高水位線限制(如果發生系統範圍的 OOM,可能會導致系統故障)

  • 1.0 : 推薦的最大分配大小(即 device.recommendedMaxWorkingSetSize)

  • >1.0: 允許超過 device.recommendedMaxWorkingSetSize 的限制

例如,值為 0.95 表示我們將分配量最多為推薦的最大分配大小的 95%;超出此範圍的分配將因 OOM 錯誤而失敗。

低水位線比例是嘗試將記憶體分配限制在較低水位線級別的軟限制,方法是進行垃圾回收或更頻繁地提交命令緩衝區(也稱為自適應提交)。值介於 0 到 m_high_watermark_ratio 之間(設定為 0.0 會停用自適應提交和垃圾回收)。例如,值為 0.9 表示我們“嘗試”將分配量限制在推薦的最大分配大小的 90%。