插件窝 干货文章 Apple Silicon Mac GPU使用率查看指南:如何监控我的PyTorch程序GPU性能?

Apple Silicon Mac GPU使用率查看指南:如何监控我的PyTorch程序GPU性能?

使用 使用率 情况 GPU 541    来源:    2025-03-12

在Apple Silicon Mac上,PyTorch程序可以利用Metal Performance Shaders (MPS) 后端来加速GPU计算。为了监控GPU的使用率,你可以使用以下几种方法:

1. 使用Activity Monitor

Activity Monitor 是macOS自带的系统监控工具,可以用来查看GPU的使用情况。

  1. 打开 Activity Monitor(可以通过Spotlight搜索打开)。
  2. 在顶部菜单栏中,选择 View > Update Frequency > Very often (1 sec),以便更频繁地更新数据。
  3. Activity Monitor 窗口中,点击 Window > GPU History,这将打开一个显示GPU使用率的窗口。
  4. 运行你的PyTorch程序,观察GPU使用率的变化。

2. 使用Metal System Trace工具

Metal System Trace 是Xcode中的一个工具,可以用来详细分析GPU的使用情况。

  1. 打开Xcode。
  2. 选择 Xcode > Open Developer Tool > Instruments
  3. Instruments 中,选择 Metal System Trace 模板。
  4. 点击左上角的 Choose Target 按钮,选择你的PyTorch程序。
  5. 点击 Record 按钮开始记录。
  6. 运行你的PyTorch程序,Instruments 将记录GPU的使用情况。
  7. 停止记录后,你可以分析GPU的使用率、内存使用情况等。

3. 使用py-metal-performance-shaders

py-metal-performance-shaders 是一个Python库,可以用来监控Apple Silicon Mac上的GPU使用情况。

  1. 安装 py-metal-performance-shaders 库:

    pip install py-metal-performance-shaders
    
  2. 在你的PyTorch程序中导入并使用该库来监控GPU使用率:

    import torch
    import torch.mps as mps
    
    # 确保使用MPS后端
    device = torch.device("mps")
    x = torch.randn(10000, 10000, device=device)
    
    # 监控GPU使用率
    mps.profiler.start()
    y = x * x
    mps.profiler.stop()
    
    # 打印GPU使用率
    print(mps.profiler.get_stats())
    

4. 使用nvidia-smi类似的工具

虽然Apple Silicon Mac上没有nvidia-smi,但你可以使用mps命令行工具来查看GPU的使用情况。

  1. 打开终端。
  2. 运行以下命令来查看GPU的使用情况: bash mps stats

5. 使用htoptop命令

虽然htoptop主要用于监控CPU和内存使用情况,但它们也可以间接帮助你了解GPU的使用情况,尤其是在GPU密集型任务中。

  1. 打开终端。
  2. 运行 htoptop 命令: bash htopbash top
  3. 观察系统资源的使用情况,特别是CPU和内存的使用情况,以间接推断GPU的负载。

总结

通过以上方法,你可以有效地监控Apple Silicon Mac上PyTorch程序的GPU使用率。Activity MonitorMetal System Trace 是系统自带的工具,适合快速查看和详细分析。py-metal-performance-shaders 库则提供了编程接口,适合在代码中直接监控GPU使用情况。