已关闭
[Requirement|需求建议]: 增加 StackGroupPoints 支持 Ascend950 实现 #781
ideal_创建于  8月20日关闭于  8月24日
ideal_
ideal_
8月20日 创建

Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.

Backgroud(背景信息)

增加 StackGroupPoints 支持 Ascend950 实现 SIMT

Origin(信息来源)

vector

Benefit / Necessity (价值/作用)

Design(设计方案)

新增 arch35 tiling 实现:新增 objdetect/stack_group_points/op_host/arch35/stack_group_points_tiling.cpp 与头文件,实现 ValidateDtype、ValidateShape、GetPlatformInfo、FillTilingData、GetWorkspaceSize 等逻辑,并通过 IMPL_OP_OPTILING(StackGroupPoints) 注册 StackGroupPointsTilingFunc 与 TilingParseForStackGroupPoints。
新增 SIMT kernel 实现:新增 objdetect/stack_group_points/op_kernel/arch35/stack_group_points.h,定义 OpStackGroupPointsSimt 与 Process,采用 Grid-Stride 线程映射直接读写 GM,并处理 b <= 0 时输出全零的特殊分支。
新增 tiling 数据结构与模板调度:新增 stack_group_points_tiling_data.h 定义 StackGroupPointsTilingData 字段,新增 stack_group_points_tiling_key.h 声明单场景模式的 tiling key,并在 stack_group_points_apt.cpp 中通过 schMode 模板调用 NsStackGroupPoints::Process<DTYPE_FEATURES>。
新增 Ascend950 平台配置与注册:新增 op_host/config/ascend950/stack_group_points_binary.json(定义 float16/float32 两套二进制输入输出描述)与 stack_group_points_simplified_key.ini,并在 stack_group_points_def.cpp 中新增 AddConfig("ascend950")。
归档 arch22 tiling 并补充单测:将原 stack_group_points_tiling.cpp/.h 重命名为 arch22 目录下文件并修正文件结尾换行,更新现有 UT 的 include 路径,同时新增 tests/ut/op_host/arch35/test_stack_group_points_tiling.cpp 覆盖 fp16/fp32 场景。

likedislike
liu-weiliu-wei成员
8月20日 将 wang-shilong32 设为负责人
CANN-robotCANN-robot成员
8月24日 关闭了 issue
CANN-robotCANN-robot成员
8月24日 添加了label:resolved