快捷方式

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

将配置文件和路标位掩码设置为 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% 以内。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得您的问题解答

查看资源