Closed
[Requirement|需求建议]: SIMT 数学类型 API 接口性能优化 #1782
xuyiyangAdd on Sep 22Closed at 5 days ago
Sep 22 Added label: requirement
Sep 22 Change title to "[Requirement|需求建议]: SIMT 数学类型 API 接口性能优化", originally titled "[Requirement|需求建议]: SIMT 数学类型 API 全量接口性能优化(40+ 接口)".
Sep 22 Change title to "[Requirement|需求建议]: SIMT 数学类型 API 接口性能优化", originally titled "[Requirement|需求建议]: SIMT 数学类型 API 全量接口性能优化(40+ 接口)".
Sep 22 Modify description of issue
Sep 22 Modify description of issue
Sep 22 Assign xuyiyang0324 as responsible person
xuyiyang
Sep 22 Comments:
Sep 22 Comments:
你好,感谢你的建议,我们将安排在保证接口精度的情况下优化接口的性能。


5 days ago Modify description of issue
xuyiyang
5 days ago Comments:
5 days ago Comments:
你好,我们已经修复相关问题,在保证接口精度的情况下优化相关20+接口的性能,详见pr:
https://gitcode.com/cann/asc-devkit/pull/6308
https://gitcode.com/cann/asc-devkit/pull/6500
https://gitcode.com/cann/asc-devkit/pull/6676
https://gitcode.com/cann/asc-devkit/pull/6829
https://gitcode.com/cann/asc-devkit/pull/7121
我们对接口的实现做了如下处理:
SIMT 分支友好化:early-return 特殊值分支后置为尾置覆盖赋值,主体无条件直落计算;
换用快速内建指令 __sqrtf/__logf/__expf 等(以 1.0f / __sqrtf 替代 rsqrtf);
逐个接口做精度回归(ULP 对比)与性能对比(clock 周期),确保性能提升的同时精度不回退。
如果没有问题,我们将关闭此issue。


5 days ago changed custom state from 待办的 to 已解决
5 days ago Close issue
5 days ago Added label: resolved
Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
Background(背景信息)
客户此前反馈 SIMT 数学类型 API 精度不足,经优化接口精度后该问题已解决,但精度优化牺牲了一部分性能。
需要对 SIMT 数学类型 API 接口共 20+ 个需要做性能优化。
优化手段
result = ...覆盖赋值,消除 SIMT 锁步下指令流中的 DVG(发散等待),降低分支发散开销;sqrtf -> __sqrtf、logf -> __logf、expf -> __expf、rsqrtf -> 1.0f / __sqrtf等。Origin(信息来源)
SIMT 开发需求
Benefit / Necessity (价值/作用)
Design(设计方案)
__sqrtf/__logf/__expf等(以1.0f / __sqrtf替代rsqrtf);