已关闭
【AICPU】优化 Expand 广播过程临时内存占用 #3254
zhaowenrui创建于 9月20日关闭于 9月20日
9月20日 修改了issue 的描述
9月20日 关联了pull request:[性能优化] 降低 Expand AICPU 广播临时内存
zhaowenrui
9月20日 评论:
9月20日 评论:
/assign


9月20日 将 zhaowenrui666 设为负责人
9月20日 关闭了 issue
9月21日 添加了label:resolved
/assign


问题背景
ops-math 的 Expand AICPU kernel 在广播过程中会先复制完整输入 Tensor,再按广播轴逐层生成中间
std::vector,最终再复制到输出。临时存储量随输出 shape 和 dtype 字节宽度增长,大 shape 下会产生不必要的堆内存占用和重复数据搬运。以 INT64
[1,34,34] -> [32,34,34]为例,单次 kernel 执行窗口内 C++new/new[]累计请求量为 626,816 B、93 次。优化目标
map<std::function>改为switch。验收标准
BOOL/FLOAT16/BFLOAT16/FLOAT/INT8/UINT8/INT32/INT64和 INT32/INT64 shape。-1、identity、标量、前/中/后轴广播、交替广播、连续尾块和大 shape。已完成验证
[1,34,34] -> [32,34,34]:626,816 B -> 1,504 B,减少 99.76%。关联