已关闭
文档反馈-内容错误(正确性)- Mmad计算类指令理论性能汇总中ceil_k公式有误 #1663
moonlife创建于  9月13日关闭于  9月20日
moonlife
9月13日 创建
  1. 【文档链接】

https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/API/ascendcopapi/docs/zh/api/appendix/cube_instruction_theoretical_perf_summary.md

  1. 【页面标记】

无

  1. 【问题类型】

内容错误(正确性)

  1. 【问题描述】

Cube指令理论性能汇总
Mmad计算类指令理论性能汇总中,公式

ceilk=⌈k16⌉×k0ceil_k=\left\lceil\frac{k}{16}\right\rceil\times k_0

应为公式

ceilk=⌈kk0⌉×k0ceil_k=\left\lceil\frac{k}{k_0}\right\rceil\times k_0

以950 FP32为例(k0=8k_0=8、cubek=1cube_k=1)取 k=1024k=1024:

ceilk=⌈1024/16⌉×8=512  <  1024ceil_k=\lceil 1024/16\rceil\times 8 = 512 \;<\; 1024

算出 ceilk<kceil_k < k 意味着实际总算力消耗小于有用工作量——逻辑上不可能。反证:该写法在 FP32 下不成立。

  1. 【预期结果】
  • ceilk=⌈kk0⌉×k0ceil_k=\left\lceil\frac{k}{k_0}\right\rceil\times k_0

likedislike
UUFOunder成员
9月14日 将 UFOunder 设为负责人
UFOunder成员
9月14日 评论:

您好,感谢反馈。

经确认,该公式确实存在错误,ceilkceil_k表示矩阵k轴根据分型大小向上对齐后的值,应使用实际分型所对应的k0作为分母,而非固定值16,正确的公式应为:

ceilk=⌈kk0⌉×k0ceil_k=\left\lceil\frac{k}{k_0}\right\rceil\times k_0

该处文档预计本周修复。

likedislike
moonlife
9月16日 评论:

@UFOunder 请加上Accepted标签,谢谢!

likedislike
UUFOunder成员
9月17日 添加了label:Accepted
UFOunder成员
9月17日 评论:

已添加Accepted标签。

likedislike
UUFOunder成员
9月17日 关联了pull request:修复资料中的错误
UUFOunder成员
9月18日 关联了pull request:同步:修复资料中的错误
UUFOunder成员
9月18日 关联了pull request:同步:修复资料中的错误
UFOunder成员
9月18日 评论:

您好,修复已合入,请您确认~
image.png
PR:https://gitcode.com/cann/asc-devkit/pull/6141

likedislike
UFOunder成员
9月20日 评论:

您好,相关问题已修复。
我们先关闭此issue,如有其他问题,欢迎再提issue交流~

likedislike
UUFOunder成员
9月20日 issue状态由 进行中 改变为 已完成
UUFOunder成员
9月20日 关闭了 issue
CANN-robotCANN-robot成员
9月20日 添加了label:resolved