CANN/pypto 框架问题诊断
PYPTO 框架 DFX
【免费下载链接】pyptoPyPTO(发音: pai p-t-o):Parallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto
本文档明确框架错误码及日志配置规范,并提供问题定位指南。
DFX 目标与要求
- 问题归属可区分:打屏报错必须携带错误码,支持快速区分“外部写法问题”与“框架内部问题”。
- 外部问题可修复:外部写法问题须通过
ErrorMsg明确“哪里错、为什么错、如何改”。 - 内部问题可定界:框架内部问题须通过
ErrorCode直接定界到对应组件。 - 根因定位可落地:框架内部问题支持结合
plog日志与docs/zh/trouble_shooting/*.md组件文档定位并修复。
ErrorCode
范围映射与组件文档
所有中断流程中的PyptoError/CHECK/ASSERT/ERROR均需由错误码承载。范围映射如下:
| 范围 | 归属与用途 | 文档 |
|---|---|---|
| F0XXXX | 外部写法问题 | - |
| F1XXXX | 框架内部公共问题 | - |
| F2-F3XXXX | FUNCTION 组件内部问题 | function.md |
| F4-F5XXXX | PASS 组件内部问题 | pass.md |
| F6XXXX | CODEGEN 组件内部问题 | codegen.md |
| F7-F8XXXX | MACHINE 组件内部问题 | machine.md |
| F9XXXX | SIMULATION 组件内部问题 | simulation.md |
| FAXXXX | DISTRIBUTED 组件内部问题 | distributed.md |
| FBXXXX | VERIFY 组件内部问题 | verify.md |
| FCXXXX | OPERATION 组件内部问题 | operation.md |
| FC0-FC2XXX | VECTOR 子类内部问题 | vector.md |
| FC3-FC5XXX | MATMUL 子类内部问题 | matmul.md |
| FC6-FC8XXX | CONV 子类内部问题 | conv.md |
| FC9XXX | 视图类 OP 子类内部问题 | view_op.md |
规范原则
- 统一定义:错误码统一定义在
framework/include/tilefwk/error_code.h,组件侧头文件仅做兼容包含。 - 归属一致:
PyptoError/CHECK表示外部写法问题(F0XXXX);ASSERT/ERROR表示框架内部问题(F1XXXX及之后组件范围)。 - 文档可追溯:若单靠
ErrorMsg无法说明原因或难以定位,需在docs/zh/trouble_shooting/*.md补充原因、排查步骤与解决方案。 - 单码单义:一个错误码仅对应一个场景,避免一码多义。
- Skill 可联动:可在组件文档中标注关联 Skill(如
pypto-environment-setup),辅助自动化排查。
日志环境变量
以下变量用于控制 CANN 日志输出行为(级别、打屏、落盘路径、文件数量等)。详情参考昇腾社区官方文档取值约束,本节仅给出常用作用与示例。
| 环境变量 | 作用(简要) | 示例 |
|---|---|---|
ASCEND_GLOBAL_LOG_LEVEL | 设置全局日志级别(控制整体日志详细程度)。 | export ASCEND_GLOBAL_LOG_LEVEL=0 |
ASCEND_SLOG_PRINT_TO_STDOUT | 是否打屏输出日志;1表示打屏,0表示按默认方式落盘。 | export ASCEND_SLOG_PRINT_TO_STDOUT=1 |
ASCEND_MODULE_LOG_LEVEL | 按模块设置日志级别(用于定向放大某些模块日志)。 | export ASCEND_MODULE_LOG_LEVEL="PASS=0:PYPTO=1" |
ASCEND_GLOBAL_EVENT_ENABLE | 控制全局事件日志开关(用于事件类问题排查)。 | export ASCEND_GLOBAL_EVENT_ENABLE=1 |
ASCEND_HOST_LOG_FILE_NUM | 控制单进程日志文件保留数量(超出后滚动删除最早日志)。 | export ASCEND_HOST_LOG_FILE_NUM=1000 |
ASCEND_PROCESS_LOG_PATH | 指定进程日志落盘目录(不存在时会自动创建)。 | export ASCEND_PROCESS_LOG_PATH=/tmp/ascend_plog |
ASCEND_WORK_PATH | 指定 CANN 运行工作目录(用于相关运行产物/中间文件)。 | export ASCEND_WORK_PATH=/tmp/ascend_work |
组合示例(调试时常用):
export ASCEND_MODULE_LOG_LEVEL=PASS=0:PYPTO=1 即设置PyPTO对应PASS组件日志级别为debug,其余日志级别为info export ASCEND_HOST_LOG_FILE_NUM=1000 export ASCEND_PROCESS_LOG_PATH=/tmp/ascend_plog【免费下载链接】pyptoPyPTO(发音: pai p-t-o):Parallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
