已关闭
[Requirement|需求建议]: 为 index 和 pooling 类算子新增 Ascend350 平台支持 #5651
klein8793创建于  9月8日关闭于  9月17日
klein8793
klein8793成员
9月8日 创建

Backgroud(背景信息)

为 index 类和 pooling 类算子新增 Ascend350 平台支持,使这些算子在 Ascend350 硬件上能够正常编译和运行。

涉及算子(35+):
bucketize_v2, concat_offset, gather_elements, gather_nd, gather_v2, index_fill, index_fill_d, index_put_v2, inplace_index_add, inplace_index_fill, linear_index_v2, masked_scatter, repeat_interleave, reverse_sequence, reverse_v2, scatter, scatter_add, scatter_add_with_sorted, scatter_elements, scatter_elements_v2, scatter_nd, scatter_nd_add, scatter_nd_max, scatter_nd_min, scatter_nd_update, scatter_sub, scatter_update, segment_sum, sorted_sparse_segment_mean_grad, sparse_segment_mean, sparse_to_dense, unsorted_segment_max, unsorted_segment_min, avg_pool, avg_pool_v2, scatter_nd_common, unsorted_segment_common, sort_lib

Origin(信息来源)

算子开发团队

Benefit / Necessity (价值/作用)

扩展算子平台覆盖范围,使上述算子可在 Ascend350 硬件平台上使用,满足 Ascend350 平台上的模型推理和训练需求。

Design(设计方案)

  1. 为每个算子新增 op_host/config/ascend350/ 下的二进制配置 JSON 文件
  2. 在各算子 _def.cpp 中添加 his->AICore().AddConfig(ascend350, aicoreConfig) 注册 Ascend350 平台
  3. 修改各算子 CMakeLists.txt,添加 Ascend350 编译目标
  4. 更新 scendc_config.json 中对应算子的 compute_units,将 [ascend950] 扩展为 [ascend950, ascend350]
  5. 更新相关 Fusion Pass 中的平台判断逻辑,将 Ascend350 加入支持平台列表

关联 PR:https://gitcode.com/cann/ops-nn/pull/9754

likedislike
klein8793klein8793成员
9月8日 添加了label:requirement
klein8793
klein8793成员
9月8日 评论:

/assign @klein8793

likedislike
CANN-robotCANN-robot成员
9月8日 将 klein8793 设为负责人
CANN-robotCANN-robot成员
9月17日 关闭了 issue
CANN-robotCANN-robot成员
9月17日 添加了label:resolved