下载
EN
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

msDebug工具使用"-O0 -g"编译算子时,stack frame size超出限制

现象描述

出现以下报错:

1
2
3
4
[ 33%] Building CCE object cmake/npu/CMakeFiles/reduce_sum_custom_npu.dir///reduce_sum_custom.cpp.o  
error: stack frame size (16024) exceeds limit (16000) in function '_ZN7AscendC9ReduceSumIDhEEvRKNS_11LocalTensorIT_EES5_S5_i'
error: stack frame size (16024) exceeds limit (16000) in function '_ZN7AscendC9ReduceSumIDhEEvRKNS_11LocalTensorIT_EES5_S5_i'
2 errors generated.

解决措施

出现该错误代表核函数使用的栈空间过大,超过了硬件限制,可通过以下两种方法进行解决:

  • 手动增加编译选项 --cce-ignore-always-inline=true ,解除Ascend C相关函数声明时设置的inline属性,使函数运行正常跳转,减少栈空间使用大小。
  • 更新编译器版本,将编译选项设置为 -O0 -g时,编译器会自动使能 --cce-ignore-always-inline=true。

    使用ccev -v命令可查询编译器版本,建议使用2024-07及之后的编译器版本。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词