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


23 天前 将 zhaowenrui666 设为负责人
23 天前 关闭了 issue
22 天前 添加了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%。关联