已关闭
【性能优化】log_add_exp arch35 计算链寄存器化 #2897
zhangqijia1创建于  8月27日关闭于  8月27日
zhangqijia1成员
8月27日 创建

背景

log_add_exp 算子 arch35 实现当前由多个独立 DAG 节点(Max / Sub / Compare / Select / Abs / Muls / Exp / log1p 修正 / Add 等约 10 个)串联,每个节点都是一次 UB->UB 的读写,中间结果频繁在 UB 往返,成为性能瓶颈。

需求

将整条计算链改造为寄存器内融合的 MicroAPI 自定义算子(LogAddExpSimplifiedCustom / LogAddExpFullCustom):

  • 消除 DAG 节点间的 UB 中间往返;
  • inf 修正由 2 组 compare+select 精简为 1 组(直接比较 x1==x2,NaN 传播语义不变);
  • cast 与 load/store 融合(DIST_UNPACK_B16 / DIST_PACK_B32);
  • 精度与现有实现保持逐 bit 一致:运算公式、顺序、cast trait(SAT + CAST_RINT)、底层指令均不变。
likedislike
Zzhangqijia1成员
8月27日 修改了issue 的描述
Zzhangqijia1成员
8月27日 关联了pull request:perf: 优化 log_add_exp arch35 计算链
CANN-robotCANN-robot成员
8月27日 关闭了 issue
CANN-robotCANN-robot成员
8月27日 添加了label:resolved
陈思陈思成员
29 天前 将 gcw_SUaZx3UQ 设为负责人