top_k_pq_distance、zeta 两个 AICPU 算子此前缺少 host 侧 InferShape 实现,无法在 hostcpu infershape 链路上完成 shape/dtype 推导;同时 top_k_pq_distance、top_k_v2_d、zeta 三个算子仍在使用旧版 REGISTER_CPU_KERNEL 宏注册,未迁移到 ops-math 仓统一的 OPS_MATH_REGISTER_CPU_KERNELV2 注册方式。
REGISTER_CPU_KERNEL
OPS_MATH_REGISTER_CPU_KERNELV2
docs/zh/op_list.md
AICPU 算子,通过 CMakeLists.txt 中 add_all_modules_sources(... HOSTCPU TRUE) 开启 hostcpu infershape 模块编译。
add_all_modules_sources(... HOSTCPU TRUE)
Ops::Base::InferShape4Broadcast
三个算子的 aicpu kernel 注册宏由 REGISTER_CPU_KERNEL 替换为 OPS_MATH_REGISTER_CPU_KERNELV2,引入 aicpu/math_aicpu_register.h 头文件,kernel 计算逻辑不变。
aicpu/math_aicpu_register.h
AI CPU(ascend910b 等)。
💡 备注 本 Issue 由 PR #4342 自动分析创建。
/assign
一、背景信息 (必填)
top_k_pq_distance、zeta 两个 AICPU 算子此前缺少 host 侧 InferShape 实现,无法在 hostcpu infershape 链路上完成 shape/dtype 推导;同时 top_k_pq_distance、top_k_v2_d、zeta 三个算子仍在使用旧版
REGISTER_CPU_KERNEL宏注册,未迁移到 ops-math 仓统一的OPS_MATH_REGISTER_CPU_KERNELV2注册方式。二、价值/作用 (必填)
OPS_MATH_REGISTER_CPU_KERNELV2,与 ops-math 仓整体注册方式保持一致。docs/zh/op_list.md中将两个算子的 hostcpu infershape 支持状态更新为 √,文档与实现同步。三、设计方案 (必填)
3.1 使能方式
AICPU 算子,通过 CMakeLists.txt 中
add_all_modules_sources(... HOSTCPU TRUE)开启 hostcpu infershape 模块编译。3.2 总体设计
3.2.1 算子支持的数据类型
3.2.2 host侧设计
Ops::Base::InferShape4Broadcast),dtype 继承自 x;并实现 InferShapeRange 以支持动态 shape range 场景,按低维对齐、逐维广播/取交推导输出 range。3.2.3 kernel侧设计
三个算子的 aicpu kernel 注册宏由
REGISTER_CPU_KERNEL替换为OPS_MATH_REGISTER_CPU_KERNELV2,引入aicpu/math_aicpu_register.h头文件,kernel 计算逻辑不变。3.3 支持硬件
AI CPU(ascend910b 等)。
3.4 算子约束限制
💡 备注
本 Issue 由 PR #4342 自动分析创建。