已关闭
[Requirement|需求建议]: slice、strided_slice、strided_slice_v2、strided_slice_v3 算子新增ascend960dt平台支持 #3582
xiapengcheng5创建于  19 天前关闭于  18 天前
xiapengcheng5
xiapengcheng5
19 天前 创建

一、背景信息 (必填)

ops-math 仓库的 slice、strided_slice、strided_slice_v2、strided_slice_v3 四个算子此前支持 ascend950、ascend350 等平台,尚未支持 ascend960dt 平台。本需求为上述算子新增 ascend960dt 平台支持,使其可在 Ascend960DT 芯片上完成编译与调用。

二、价值/作用 (必填)

补齐四个基础算子在 ascend960dt 新平台上的覆盖。

三、设计方案 (必填)

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

aclnn 接口直调:通过 op_api 适配,使 aclnnSlice/aclnnStridedSlice/aclnnStridedSliceV2/aclnnTile 接口在 ascend960dt 平台可用。

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

slice、strided_slice、stride_slice_v3新增 dtype 支持列表。

3.2.2 host侧设计

各算子 op_host 定义文件(slice_def.cpp、strided_slice_def.cpp、strided_slice_v2_def.cpp、strided_slice_v3_def.cpp)通过 AICore().AddConfig("ascend960dt", ...) 注册平台配置;
各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 增加 "ascend960dt",tiling 目录沿用 arch35;get_shape 的 kernel 源码 COMPUTE_UNITS 同步增加 ascend960dt;
新增 ascend960dt 平台二进制编译配置 op_host/config/ascend960dt/*_binary.json 与 *_simplified_key.ini(simplified_key_mode=0);
ascendc_config.json 中 slice、strided_slice、strided_slice_v2、strided_slice_v3 增加 ascend960dt 并配置编译选项。

3.2.3 kernel侧设计

slice和strided_slice新增960的新特性,pre-allocation和simt合并数据类型。

3.3 支持硬件

Ascend960DT(SOC: Ascend960DT_968B7,NpuArch: DAV_9201。

3.4 算子约束限制

💡 备注(选填)

likedislike
陈思
陈思成员
19 天前 评论:
likedislike
CANN-robotCANN-robot成员
19 天前 将 xiapengcheng5 设为负责人
CANN-robotCANN-robot成员
18 天前 关闭了 issue
CANN-robotCANN-robot成员
18 天前 添加了label:resolved