MPS 环境变量§
PyTorch 环境变量
变量 |
描述 |
PYTORCH_DEBUG_MPS_ALLOCATOR
|
如果设置为 1 ,则将分配器日志级别设置为详细。 |
PYTORCH_MPS_LOG_PROFILE_INFO
|
设置日志选项位掩码为 MPSProfiler 。有关可用选项,请参阅 aten/src/ATen/mps/MPSProfiler.h 中的 LogOptions 枚举。 |
PYTORCH_MPS_TRACE_SIGNPOSTS
|
设置配置文件和标志位掩码为 MPSProfiler 。请参阅 aten/src/ATen/mps/MPSProfiler.h 中的 ProfileOptions 和 SignpostTypes 枚举以获取可用选项。 |
PYTORCH_MPS_HIGH_WATERMARK_RATIO
|
MPS 分配器的最高水位比。默认设置为 1.7。 |
PYTORCH_MPS_LOW_WATERMARK_RATIO
|
MPS 分配器的最低水位比。默认情况下,如果内存是统一的,则设置为 1.4;如果内存是离散的,则设置为 1.0。 |
PYTORCH_MPS_FAST_MATH
|
如果设置为 1 ,则启用 MPS 金属内核的快速数学运算。请参阅 https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf 中的第 1.6.3 节以了解精度影响。 |
PYTORCH_MPS_PREFER_METAL
|
如果设置为 1 ,则强制使用金属内核而不是使用 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%。