已关闭
[Requirement|需求建议]: SIMT新增栈溢出场景及优化思路样例 #1307
ruoshuisixue创建于  7月23日关闭于  7月25日
ruoshuisixue成员
7月23日 创建

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

Background(背景信息)

当前 SIMT 样例缺少栈溢出类故障的排障示例。开发者在 Kernel 内定义较大线程局部数组,或使用递归/深层分支调用时,可能触发 SIMT 栈溢出或 SIMT 分支栈溢出,但缺少可直接编译运行的样例来说明问题复现、日志定位和优化方式。

Origin(信息来源)

Benefit / Necessity (价值/作用)

补齐 Ascend C SIMT 排障样例,帮助开发者识别 The VEC SIMT stack overflowsVEC SIMT DVG stack overflows 两类错误,并理解栈空间配置、减少线程局部大对象、递归改迭代等优化方法。

Design(设计方案)

examples/03_simt_api/05_troubleshooting/stack_overflow/ 新增 SIMT 栈溢出排障样例,包含 stack_overflow.ascCMakeLists.txtacl.json、中文 README 和英文 README。

Kernel 使用 __global__ void 声明,使用 4-slot launch,并在 ASC 编译选项中开启 --enable-simt--cce-res-usage

样例包含 2个case ,4种场景:

  1. 大局部数组导致普通 SIMT 栈溢出。
  2. 通过 acl.json 配置 simt_stack_size: 1280 验证大局部数组场景可恢复运行。
  3. 递归阶乘导致 SIMT 分支栈溢出。
  4. 将递归改写为迭代算法,验证优化后正常运行。

同时更新 examples/03_simt_api/README.md05_troubleshooting/README.md,将该样例纳入 SIMT 排障样例目录。

likedislike
Rruoshuisixue成员
7月23日 添加了label:requirement
Rruoshuisixue成员
7月23日 修改标题为 “[Requirement|需求建议]: SIMT新增栈溢出场景及优化思路样例”,原标题为“[Requirement|需求建议]: SIMT新增栈溢出场景及优化思路”
Rruoshuisixue成员
7月25日 issue状态由 待办的 改变为 已解决
Rruoshuisixue成员
7月25日 关闭了 issue
CANN-robotCANN-robot成员
7月25日 添加了label:resolved