评价此页

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。用于 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% 以内。