在模型运行时遇到报错“terminate called after throwing an instance of 'c10::Error' what(): HelpACLExecute:”
报错信息
- 报错截图
- 报错文本
terminate called after throwing an instance of 'c10::Error' what(): HelpACLExecute: ***/pytorch/c10/npu/NPUStream.cpp:158 (HelpACLExecute at ***/pytorch/c10/npu/NPUStream.cpp:159) frame #0: c10::Error::Error(c10::SourceLocation, std::__cxxll::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 0x60 (0xffffa3853050 in /root/***/python3.7/site-packages/torch/lib/libc10/so) ……
问题分析
目前HelpACLExecute的报错信息无法直接找到报错位置。此处在Task任务下发时报错,是由于开启了Task多线程下发(export TASK_QUEUE_ENABLE=1),上层封装了报错信息,导致无法获取更加详细的报错日志。
处理方法
可通过如下两种方式处理:
- 查看具体的host报错日志信息。日志默认路径为/var/log/npu/slog/host-0/,根据时间标识查找以host-0为前缀的日志文件,打开日志文件,搜索“ERROR”,查询具体的报错信息。
- 关闭多线程下发(export TASK_QUEUE_ENABLE=0),再次运行代码,一般可根据终端报错信息定位错误原因。
父主题: 模型运行常见问题