
同步与算法优化【免费下载链接】pto-isaParallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platforms.项目地址: https://gitcode.com/cann/pto-isa同步开销优化Barrier 合并将多个 phase barrier 合并为一个优化前[RS] → [Barrier] → [local reduce] → [Barrier] → [AG] 优化后[RS with AtomicAdd] → [Barrier] → [AG] ^^^^^^^^^^^^^^^^^^^^^ RS 和 Reduce 融合为 TPUTAtomicAdd通过使用AtomicAdd在 RS 阶段直接累加消除了独立的 Reduce 阶段及其 barrier。信号压缩减少跨 rank 通知次数优化前每个 tile 完成都通知远端 → N_tiles × nranks 次 TNOTIFY 优化后所有 tile 完成后通知一次 → nranks 次 TNOTIFYBlock 角色优化只让 block 0 执行跨 rank 信号其他 block 等待本地广播标志Block 0: TNOTIFY(remote) × (nranks-1) → TWAIT(local) × (nranks-1) → Set local flag Block 1~N: TWAIT(local flag) ← 一次 TWAIT 而非 nranks 次TTEST vs TWAIT 选择场景推荐原因确定必须等待barrierTWAIT硬件自旋更节能轮询做其他工作TTEST可交错执行就绪队列消费TTEST先检查再处理减少 dcci 调用dcci刷新缓存行是标量操作频繁调用影响性能// 优化前每次读队列数据都 dcci for (int i 0; i count; i) { dcci(queue-data[i], SINGLE_CACHE_LINE); process(queue-data[i]); } // 优化后使用 TTEST 硬件指令代替 dcci 软件比较 comm::Signal sig(queue-count); if (comm::TTEST(sig, expected, comm::WaitCmp::GE)) { dcci(queue-data[head], SINGLE_CACHE_LINE); process(queue-data[head]); }算法选择AllReduce 分解策略策略通信量延迟适用场景ReduceScatter AllGather2(N-1)/N × S2(N-1) steps中大数据量Ring AllReduce2(N-1)/N × S2(N-1) steps大数据量带宽受限内置 TREDUCE TBROADCASTN × S2 steps小数据量root 带宽足够TPUTAtomicAdd RS TPUT AG2(N-1)/N × S可重叠通算融合场景其中 S 数据总大小N rank 数。RS 实现AtomicAdd vs 独立 ReduceAtomicAdd 方式推荐用于融合RS 阶段使用TPUTAtomicAdd直接累加到 owner无需独立 Reduce 阶段和额外 barrierFP16 下有累积精度损失独立 Reduce 方式RS 只做 scatter无归约owner 本地执行 TLOAD TADD TSTORE 归约精度更好但需要额外阶段和 barrierAG 实现TPUT 直写owner rank 主动写到所有远端推荐TGET 拉取各 rank 从 owner 拉取TBROADCASTowner 使用内置集合通信广播通常选择TPUT 直写因为 owner 知道数据就绪时机无需额外通知。【免费下载链接】pto-isaParallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platforms.项目地址: https://gitcode.com/cann/pto-isa创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考