name: PTO-COMM 通信算子性能优化指南
description: PTO-COMM 通信算子性能优化方法论与实战技巧。涵盖通算重叠(Overlap)、乒乓双缓冲、多 Block 负载均衡、同步开销优化、数据布局优化、Tile 大小选择、带宽利用率分析、性能建模与 Profiling 方法等。触发:需要优化 PTO-COMM 通信算子性能、分析通信瓶颈、提升带宽利用率、设计通算重叠策略时。
license: CANN Open Software License Agreement Version 2.0
PTO-COMM 通信算子性能优化指南
定位
本 Skill 是知识库型 + 方法论型 Skill,提供 PTO-COMM 通信算子性能优化的系统方法、关键技巧和分析工具。
性能优化哲学
核心原则
- 隐藏延迟:将通信延迟隐藏在计算中(通算重叠)
- 最大化带宽:让硬件通信通路保持满载(流水线、大块传输)
- 消除瓶颈:识别并消除负载不均衡和同步等待
性能上界
总时间 ≥ max(计算时间, 通信时间, 同步开销)
通信时间 = 数据量 / 链路带宽
计算时间 = 计算量 / 计算峰值
同步开销 = 信号轮次 × 单次同步延迟
理想状态:通信完全隐藏在计算中,总时间 ≈ 计算时间。
优化优先级
1. 算法选择(O(N) 级影响)
└── Ring vs Mesh vs 内置集合通信
2. 通算重叠策略(2x+ 级影响)
└── 双 stream、队列调度、分块粒度
3. 数据搬运优化(1.5x 级影响)
└── 乒乓双缓冲、Tile 大小、对齐
4. 同步优化(1.1~1.3x 级影响)
└── barrier 合并、信号压缩、block 角色优化
各优化维度详解
优化决策快速参考
场景决策表
| 场景 |
首要优化 |
参考 |
| 通信时间 > 计算时间 |
增大计算粒度 / 减少通信量 |
overlap-design.md |
| 计算时间 > 通信时间 |
通信已被隐藏,优化计算本身 |
— |
| Overlap 效率 < 80% |
检查分块粒度、队列空转、Block 均衡 |
overlap-design.md |
| 带宽利用率 < 60% |
增大 Tile、使用乒乓、检查对齐 |
data-transfer-optimization.md |
| 多次 Barrier 开销高 |
合并 RS+Reduce 为 AtomicAdd |
sync-algorithm-optimization.md |
| 首次运行慢 |
Warmup 排除首次开销 |
profiling-methodology.md |
重叠效率度量
重叠效率 = 1 - (实际总时间 - max(T_comp, T_comm)) / min(T_comp, T_comm)
100% = 完美重叠,总时间 = max(T_comp, T_comm)
0% = 无重叠,总时间 = T_comp + T_comm
优化检查清单
通算重叠
数据搬运
同步优化
负载均衡
算法层面
相关 Skills
| Skill |
用途 |
pto-comm-isa-reference |
指令签名与约束速查 |
pto-comm-operator-develop |
通信算子开发流程 |
pto-comm-testing-debug |
测试与调试方法 |
vector-fusion-operator-generate |
向量融合算子开发 |