快捷鍵

MPS 環境變數

PyTorch 環境變數

變數

描述

PYTORCH_DEBUG_MPS_ALLOCATOR

如果設定為 1,則將分配器記錄層級設定為 verbose。

PYTORCH_MPS_LOG_PROFILE_INFO

將記錄選項位元遮罩設定為 MPSProfiler。有關可用選項,請參閱 aten/src/ATen/mps/MPSProfiler.h 中的 LogOptions 列舉。

PYTORCH_MPS_TRACE_SIGNPOSTS

設定 profile 和 signpost 位元遮罩至 MPSProfiler。有關可用選項,請參閱 aten/src/ATen/mps/MPSProfiler.h 中的 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 核心啟用快速數學運算。有關精度影響,請參閱 https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf 中的 1.6.3 節。

PYTORCH_MPS_PREFER_METAL

如果設定為 1,強制使用 Metal 核心,而不是使用 MPS Graph API。目前,這僅用於 matmul 運算。

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% 的建議最大分配大小。

文件

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources