Closed
[Bug-Report|缺陷反馈]: Acosh REG_OP dtype声明含未支持的COMPLEX32(UnaryDataType过度声明) #4196
dengguojieAdd on 10 days agoClosed at 9 days ago
dengguojie
10 days ago Comments:
10 days ago Comments:
修复进展更新:本 issue 对应的 REG_OP dtype 过度声明已修正,修复包含于 PR #6620(单 commit,最新 head d456a5b080220686164f3ccfaf865649a94c3992):
math/acosh/op_graph/acosh_proto.h:REG_OP(Acosh) 输入/输出 dtype 声明由泛用集合TensorType::UnaryDataType()改为显式枚举 6 dtype(COMPLEX128、COMPLEX64、DOUBLE、FLOAT、FLOAT16、BF16),去除 COMPLEX32 过度声明——AICore/AICPU 两面均无该 dtype,图模式 COMPLEX32 构图期即拒。
验证:GEIR 套 200/200 零退化 + aclnn 10/10 + supp 6/6(六 dtype 覆盖)。
因平台一 PR 一 issue 关联限制,本 issue 无法与 PR #6620 建立 linked 关联,请在 PR #6620 合并核验后手动关闭本 issue。
PR: https://gitcode.com/cann/ops-math/merge_requests/6620


9 days ago Close issue
9 days ago Added label: resolved
一、问题描述 (必填)
math/acosh/op_graph/acosh_proto.h 的 REG_OP(Acosh) 输入/输出使用泛用集合
TensorType::UnaryDataType(),该集合包含 DT_COMPLEX32。但 Acosh 的两个执行面均无 COMPLEX32 实现:{ge::DT_FLOAT, ge::DT_FLOAT16, ge::DT_BF16};{ge::DT_FLOAT16, ge::DT_FLOAT, ge::DT_DOUBLE, ge::DT_COMPLEX64, ge::DT_COMPLEX128}。即 COMPLEX32 属过度声明:图模式下 COMPLEX32 构图被 IR 接受(dtype 校验通过),但运行期无任何 impl 可执行,落到运行期才失败。
二、环境信息 (可选)
三、重现步骤 (可选)
四、预期结果 (可选)
REG_OP 的 INPUT/OUTPUT dtype 声明应与实际执行面一致:改为显式枚举 AICore∪AICPU 执行面 6 dtype(DT_COMPLEX128, DT_COMPLEX64, DT_DOUBLE, DT_FLOAT, DT_FLOAT16, DT_BF16),COMPLEX32 在构图期(IR dtype 校验)即被拒绝,避免带病构图进入运行期才失败。
💡 备注:本算子注释中的 dtype 平铺列表(float16, float32, bfloat16, double, complex64, complex128)与本修正一致,无需改动。