评价此页

MPS 环境变量#

创建日期:2025 年 6 月 11 日 | 最后更新日期:2025 年 6 月 11 日

PyTorch 环境变量

变量

描述

PYTORCH_DEBUG_MPS_ALLOCATOR

如果设置为 1,将分配器日志记录级别设置为详细 (verbose)。

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 着色语言规范 中的 1.6.3 章节。

PYTORCH_MPS_PREFER_METAL

如果设置为 1,则使用 Metal 内核代替 MPS Graph API。用于矩阵乘法。

PYTORCH_ENABLE_MPS_FALLBACK

如果设置为 1,则在不支持 MPS 算子时回退到 CPU。

注意

高水位线比率 (high watermark ratio) 是总允许分配内存的硬限制

  • 0.0 : 禁用高水位线限制(如果发生系统级内存不足 (OOM),可能会导致系统故障)

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

  • >1.0: 允许超出 device.recommendedMaxWorkingSetSize 的限制

例如,值 0.95 表示我们最多分配推荐最大分配大小的 95%;超出该值后,分配将因 OOM 错误而失败。

低水位线比率 (low watermark ratio) 是一个软限制,旨在通过垃圾回收或更频繁地提交命令缓冲区(即自适应提交)来尝试将内存分配限制在低水位线水平。值介于 0 和 m_high_watermark_ratio 之间(设置为 0.0 可禁用自适应提交和垃圾回收)。例如,值 0.9 表示我们“尝试”将分配限制在推荐最大分配大小的 90% 以内。