已合并
fix(Operation): modify cosh arch35 impl #5364
chenbl创建于 11 天前
fix(Operation): modify cosh arch35 impl #5364
已合并
chenbl创建于 11 天前
chenbl
11 天前
  1. 修改 cosh 的A5 实现,对齐AscendC
  2. 修改 ASinh,ACosh的精度模式选用
  3. Bitwise类 Operation 增加 支持的数据类型
likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 chenbl 的贡献)
Cchenbl
11 天前 创建了 pull request,commit f209410e
atomgit-bot
atomgit-bot
11 天前 评论:

变更摘要

该 PR 主要修复了 cosh 在非 __DAV_V220 架构上的实现。原先 TCosh 内联的算法仅适用于 V220 架构,非 V220 架构缺乏正确的实现。此次变更将 cosh 的计算逻辑抽取为独立的 TCoshCompute 函数,针对 __DAV_V220 和非 __DAV_V220 分别提供不同实现:V220 保留原有的 exp 组合算法,非 V220 新增基于 log2 范围归约 + 倒数近似的算法,并增加了溢出处理(当 |x| >= 90 时返回 +inf)。同时,临时缓冲区需求量从 1 个 tile 调整为 3 个 tile,并在 TASinh/TACosh 中移除了部分运算的显式算法模板参数。

主要改动

  • 新增 TCoshCompute 双架构实现: 在 unary.h 中新增 TCoshCompute 函数,__DAV_V220 下使用 cosh(x) = 0.5 * (exp(x/2) + exp(-3x/2)) * exp(x/2) 的简单形式;非 V220 下使用基于 log2(e) 范围归约的复杂实现,并通过 TRECIP + TADD 完成最终计算,同时利用 TCMPS + TSEL|x| >= 90 的输入返回 +inf

  • TCosh 调用重构与临时缓冲区扩展: TCosh 函数不再内联计算逻辑,改为调用 TCoshCompute。非 V220 路径额外声明了 tmp0Tile/tmp1Tile/tmp2Tile/tmp0IntTile/tmp2MaskTile 五种临时 tile,并在循环中按偏移分配 tmp 缓冲区的不同区域。相应地,OP_COSH 注册时的模板参数从 NUM_VALUE_1 改为 NUM_VALUE_3,满足 3 个 tile 的临时空间需求。

  • TASinh/TACosh 中移除显式算法模板参数: 将 TDIVS<pto::DivAlgorithm::HIGH_PRECISION>TSQRT<pto::SqrtAlgorithm::HIGH_PRECISION>TDIV<pto::DivAlgorithm::HIGH_PRECISION>TLOG<pto::LogAlgorithm::HIGH_PRECISION> 等调用简化为不带模板参数的 TDIVSTSQRTTDIVTLOG,统一使用默认算法。

likedislike
atomgit-bot
atomgit-bot
11 天前 评论:

代码审查

✅ 未发现问题

likedislike
CANN-robotCANN-robot成员
11 天前 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
11 天前 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here
You can get sig-info at here


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
docs 尹杰, lyz0328 (2/2) lyz0328, 尹杰 (2/1)
repo-cann/pypto congqiannan, 尹杰 (2/2) congqiannan, 尹杰 (2/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

chenbl, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
此处折叠了48条消息 查看更多
lyz0328
lyz0328成员
7 天前 评论:

/approve

likedislike
CANN-robotCANN-robot成员
7 天前 添加了label:approved
Jie Yin成员
7 天前 评论:

/approve

likedislike
CANN-robotCANN-robot成员
7 天前 添加了label:lgtm
CANN-robotCANN-robot成员
7 天前 合入了pull request