Moore Perf Compute 最佳实践
场景一:首次使用 - 性能分析初体验
问题: "我刚写了一个 MUSA kernel,想知道性能表现"
解决步骤:
# 1. 安装确认
which mcu
mcu --version
# 2. 简单分析
mcu ./my_program
# 3. 查看结果
mcu-ui
# File > Open File > report1.mcu-rep
预期结果: 生成 report1.mcu-rep,可在 GUI 中查看
场景二:只想分析特定的 Kernel
问题: "程序有上百个 kernel,只想分析其中一个"
解决步骤:
# 精确匹配
mcu -k matmul ./my_program
# 正则匹配
mcu -k regex:"matmul|relu" ./my_program
预期结果: 只分析指定 kernel,时间缩短,报告更小
场景三:多 GPU 环境分析
问题: "4 卡服务器,只想分析第 2 和第 4 张卡"
解决步骤:
mcu --devices 2,4 ./my_program
场景四:MPI 多进程应用分析
问题: "MPI 程序,多进程多节点,能分析吗?"
解决步骤:
# 单节点多 rank
mcu mpirun -np 4 ./my_mpi_program
# 多节点
mpirun -np 16 mcu ./my_mpi_program
场景五:分析结果太慢/开销太大
问题: "运行 mcu 后程序变慢,怎么办?"
解决步骤:
# 1. 减少分析的 kernel 数量
mcu -k my_important_kernel ./my_program
# 2. 降低采样频率
mcu --sampling-interval 200 ./my_program
# 3. 使用 normal 模式
mcu --dump-mode normal ./my_program
场景六:Roofline 分析
问题: "Roofline 图看不懂,该怎么分析?"
判断方法:
| 区域 | 诊断 | 优化方向 |
|---|---|---|
| 蓝色区域 (内存受限) | 性能受内存带宽限制 | 优化内存访问 |
| 绿色区域 (计算受限) | 性能受计算能力限制 | 优化计算逻辑 |
优化策略:
- 内存受限: 合并访问、共享内存缓存、减少传输
- 计算受限: 使用低精度、Tensor Core、操作融合
场景七:分析 Green Context 应用
问题: "使用了 Green Contexts,能分析吗?"
回答: 完全支持
识别方法:
- 标题栏 Attributes 按钮变绿色
- Session 页面显示 Green Context Resources
场景八:报告打不开
问题: "报告在其他机器上打不开"
解决步骤:
- 使用英文路径(避免中文)
- 检查文件完整性