已关闭
[Requirement|需求建议]: 39个算子新增ascend960平台支持 #3597
hahaha22创建于  14 天前关闭于  13 天前
hahaha22成员
14 天前 创建

一、背景信息 (必填)

ascend960 为新增芯片形态。ops-math 仓库中本批 39 个算子目前仅注册了 ascend950 / ascend350 等平台,缺少 ascend960 支持,需补齐平台注册、编译单元与二进制配置。

二、价值/作用 (必填)

完成 ascend960 适配后,相关算子可在新平台上被算子信息库发现并正确选择 kernel 二进制,保障新形态芯片的算子可用性。

三、设计方案 (必填)

3.1 使能方式(涉及哪些框架:如Aclnn直调、Pytorch训练等)

aclnn 直调;本需求涉及的算子编译类型为 aclnn_exclude。

3.2 总体设计
3.2.1 算子支持的数据类型

沿用各算子现有支持的数据类型;为 ascend960 新增对应的 <op>_binary.json 二进制配置。

3.2.2 host侧设计
  • *_def.cpp:新增 ascend960 平台注册(AICore().AddConfig)
  • CMakeLists.txt:在 SUPPORT_COMPUTE_UNIT / COMPUTE_UNITS 中追加 ascend960,在 SUPPORT_TILING_DIR 中追加对应的 arch35(tiling 目录沿用 arch35)
  • 中央注册表 scripts/kernel/binary_config/ascendc_config.json:既有条目补齐 ascend960 编译选项
3.2.3 kernel侧设计

无 kernel 代码改动,复用现有 arch35 kernel 与 tiling。

3.3 支持硬件

ascend960

3.4 算子约束限制

本需求仅补齐 ascend960 平台适配,不改变算子既有功能与约束,不涉及新增数据类型或泛化能力。

四、算子清单(共 39 个)

  • math 目录 36 个:Add、Sub、Mul、Muls、Div、DivNoNan、RealDiv、FloorDiv、FloorMod、BitwiseAnd、BitwiseOr、BitwiseXor、Equal、NotEqual、Less、LessEqual、Greater、GreaterEqual、LogicalAnd、LogicalOr、Select、SelectV2、Maximum、Minimum、Pow、Lerp、BiasAdd、Axpy、AxpyV2、Addcmul、Addcdiv、Ger、Gcd、Signbit、TanhGrad、SquaredDifference
  • conversion 目录 2 个:ClipByValue、ClipByValueV2
  • 中央注册表补全 1 个:Mod(平台注册与编译单元主线已就绪,本批补齐 ascend960 编译选项)

关联 PR:https://gitcode.com/cann/ops-math/pull/6137

likedislike
陈思
陈思成员
14 天前 评论:

/assign @hahaha22

likedislike
CANN-robotCANN-robot成员
14 天前 将 hahaha22 设为负责人
Wangdongxu_mj007Wangdongxu_mj007成员
14 天前 关联了pull request:TensorEqual & RandomUniformV2 supprot Ascend960dt/Ascend960pr
CANN-robotCANN-robot成员
13 天前 关闭了 issue
CANN-robotCANN-robot成员
13 天前 添加了label:resolved