新闻详情

新闻详情

首页 / 资讯中心 / 详情

CANN/ge功能调试配置参数

发布时间:2026/9/10 2:20:04来源:尧图网络
CANN/ge功能调试配置参数
功能调试【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/gege.debugDir用于配置保存算子编译生成的调试相关过程文件的路径过程文件包括但不限于算子.o算子二进制文件、.json算子描述文件、.cce等文件。默认生成在当前训练脚本执行路径下。使用约束如果要自行指定算子编译的过程文件存放路径需ge.debugDir参数与ge.opDebugLevel参数配合使用且当ge.opDebugLevel取值为0时不能使用ge.debugDir参数。算子编译生成的调试文件存储路径除ge.debugDir参数设置的方式外还可以配置环境变量ASCEND_WORK_PATH几种方式优先级为配置参数“ge.debugDir” 环境变量ASCEND_WORK_PATH 默认存储路径。关于环境变量ASCEND_WORK_PATH的详细说明请参见《环境变量参考》。必选/可选可选生效级别全局/session/graphge.exec.enable_exception_dump是否dump异常算子数据。0默认值关闭异常算子数据dump功能。1开启普通exception dumpL1 exception dumpdump异常算子的输入输出数据、tensor描述信息shape、dtype、format等以及workspace信息。dump数据存储路径优先级为NPU_COLLECT_PATHASCEND_WORK_PATH默认路径指当前脚本执行路径的extra-info目录2开启Lite exception dumpL0 exception dumpdump异常算子的输入输出数据、workspace信息、Tiling信息。dump数据存储路径优先级为ASCEND_WORK_PATH默认路径指当前脚本执行路径的/extra-info/data-dump/device_id目录[!NOTE]说明若配置了环境变量NPU_COLLECT_PATH不论配置项“ge.exec.enable_exception_dump”的取值如何仅收集普通exception dump信息包括异常算子的输入数据和输出数据且dump数据存储在环境变量NPU_COLLECT_PATH的指定目录下。L1 exception dump即普通exception dumpL0 exception dump即Lite exception dump轻量化的exception dump两者都会导出算子输入输出、workspace数据等信息但相比L0 exception dumpL1 exception dump的信息更多开启L1 exception dump时会在Host应用类日志文件即plog日志中打印出来各tensor的dtype等信息还会把算子相关的算子名、kernel都打印出来。关于环境变量的详细说明可参见《环境变量参考》。配置示例std::mapge::AscendString, ge::AscendString ge_options {ge.exec.enable_exception_dump, 0},必选/可选可选生效级别全局ge.exportCompileStat配置图编译过程中是否生成算子融合信息包括图融合和UB融合的结果文件fusion_result.json。该文件用于记录图编译过程中使用的融合规则而精度比对中的ge.fusionSwitchFile参数可以关闭指定的融合规则关闭的融合规则不会在fusion_result.json文件中呈现文件中session_and_graph_id_xx_xx表示融合结果所属线程和图编号。graph_fusion表示图融合。ub_fusion表示UB融合Ascend 950PR/Ascend 950DT不支持UB融合不会生成该信息。match_times表示图编译过程中匹配到的融合规则次数。effect_times表示实际生效的次数。repository_hit_times优化UB融合知识库命中的次数Ascend 950PR/Ascend 950DT不支持UB融合不会生成该信息。参数取值0不生成算子融合信息结果文件。1默认值程序运行正常退出时生成算子融合信息结果文件。2图编译完成时生成算子融合信息结果文件。即如果图编译已完成后续程序提前中断也会生成算子融合信息结果文件。[!NOTE]说明 若未设置ASCEND_WORK_PATH环境变量结果文件默认生成在执行脚本当前路径若设置了ASCEND_WORK_PATH环境变量则保存路径为$ASCEND_WORK_PATH/FE/${进程号}/fusion_result.json。环境变量详细说明请参见《环境变量参考》。配置示例{ge.exportCompileStat, 1};必选/可选可选生效级别全局ge.opDebugLevel算子debug功能开关取值0默认值不开启算子debug功能在当前执行路径不生成算子编译目录kernel_meta。1开启算子debug功能在当前执行路径生成kernel_meta文件夹并在该文件夹下生成*.o算子二进制文件、*.json文件算子描述文件和TBE指令映射文件算子cce文件*.cce和python-cce映射文件*_loc.json用于后续分析AICore Error问题。Ascend 950PR/Ascend 950DT不会生成TBE指令映射文件。2开启算子debug功能在当前执行路径生成kernel_meta文件夹并在该文件夹下生成*.o算子二进制文件、*.json文件算子描述文件和TBE指令映射文件算子cce文件*.cce和python-cce映射文件*_loc.json用于后续分析AICore Error问题同时设置为2还会关闭编译优化开关、开启ccec调试功能ccec编译器选项设置为-O0-g。Ascend 950PR/Ascend 950DT不会生成TBE指令映射文件。3不开启算子debug功能在当前执行路径生成kernel_meta文件夹并在该文件夹中生成*.o算子二进制文件和*.json文件算子描述文件分析算子问题时可参考。4不开启算子debug功能在当前执行路径生成kernel_meta文件夹并在该文件夹下生成*.o算子二进制文件、*.json文件算子描述文件、TBE指令映射文件算子cce文件*.cce和UB融合计算描述文件{$kernel_name}_compute.json可在分析算子问题时进行问题复现、精度比对时使用。Ascend 950PR/Ascend 950DT不会生成TBE指令映射文件和UB融合计算描述文件。[!NOTE]说明若ge.opDebugLevel配置为0同时又配置了op_debug_config参数该场景下在当前执行路径仍旧会生成算子编译目录kernel_meta。训练执行时建议配置为0或3。如果需要进行问题定位再选择调试开关选项1和2是因为加入了调试功能会导致网络性能下降。配置为2即开启ccec编译选项时会导致算子Kernel*.o文件大小增大。动态Shape场景下由于算子编译时会遍历可能的Shape场景因此可能会导致算子Kernel文件过大而无法进行编译此种场景下建议不要配置ccec编译选项。 由于算子Kernel文件过大而无法编译的报错日志示例如下message:link error ld.lld: error: InputSection too large for range extension thunk ./kernel_meta_xxxxx.odebug功能开关打开场景下若模型中含有如下通算融合算子算子编译目录kernel_meta中不会生成下述算子的*.o、*.json、*.cce文件。MatMulAllReduceMatMulAllReduceAddRmsNormAllGatherMatMulMatMulReduceScatterAlltoAllAllGatherBatchMatMulBatchMatMulReduceScatterAlltoAll必选/可选可选生效级别全局/session/graphop_debug_configGlobal Memory内存检测功能开关。取值为.cfg配置文件路径配置文件内多个选项用英文逗号分隔oom算子执行过程中检测Global Memory是否内存越界。配置该选项算子编译时在当前执行路径算子编译生成的kernel_meta文件夹中保留.o算子二进制文件和.json文件算子描述文件。使用该选项后在算子编译过程中会加入如下的检测逻辑用户可以通过再使用dump_cce参数在生成的.cce文件中查看如下的代码。inline __aicore__ void CheckInvalidAccessOfDDR(xxx) { if (access_offset 0 || access_offset access_extent ddr_size) { if (read_or_write 1) { trap(0X5A5A0001); } else { trap(0X5A5A0002); } } }dump_cce算子编译时在当前执行路径算子编译生成的kernel_meta文件夹中保留算子cce文件*.cce以及.o算子二进制文件和.json文件算子描述文件。dump_loc算子编译时在当前执行路径算子编译生成的kernel_meta文件夹中保留python-cce映射文件*_loc.json以及.o算子二进制文件和.json文件算子描述文件。ccec_O0算子编译时开启ccec编译器选项-O0配置该选项不会对调试信息执行优化操作用于后续分析AI Core Error问题。ccec_g算子编译时开启ccec编译器选项-g配置该选项会对调试信息执行优化操作用于后续分析AI Core Error问题。check_flag算子执行时检测算子内部流水线同步信号是否匹配。配置该选项算子编译时在当前执行路径算子编译生成的kernel_meta文件夹中保留.o算子二进制文件和.json文件算子描述文件。使用该选项后在算子编译过程中会加入如下的检测逻辑用户可以通过再使用dump_cce参数在生成的.cce文件中查看如下的代码。set_flag(PIPE_MTE3, PIPE_MTE2, EVENT_ID0); set_flag(PIPE_MTE3, PIPE_MTE2, EVENT_ID1); set_flag(PIPE_MTE3, PIPE_MTE2, EVENT_ID2); set_flag(PIPE_MTE3, PIPE_MTE2, EVENT_ID3); .... pipe_barrier(PIPE_MTE3); pipe_barrier(PIPE_MTE2); pipe_barrier(PIPE_M); pipe_barrier(PIPE_V); pipe_barrier(PIPE_MTE1); pipe_barrier(PIPE_ALL); wait_flag(PIPE_MTE3, PIPE_MTE2, EVENT_ID0); wait_flag(PIPE_MTE3, PIPE_MTE2, EVENT_ID1); wait_flag(PIPE_MTE3, PIPE_MTE2, EVENT_ID2); wait_flag(PIPE_MTE3, PIPE_MTE2, EVENT_ID3); ...实际执行推理过程中如果确实存在算子内部流水线同步信号不匹配则最终会在有问题的算子处超时报错并终止程序报错信息示例为Aicore kernel execute failed, ..., fault kernel_name算子名,... rtStreamSynchronizeWithTimeout execute failed....配置示例{op_debug_config, /root/test0.cfg};其中test0.cfg文件信息为op_debug_config ccec_g,oom必选/可选可选生效级别全局使用约束算子编译时如果用户不想编译所有AI Core算子而是指定某些AI Core算子进行编译则需要在上述test0.cfg配置文件中新增op_debug_list字段算子编译时只编译该列表指定的算子并按照op_debug_config配置的选项进行编译。op_debug_list字段要求如下支持指定算子名称或者算子类型。算子之间使用英文逗号分隔若为算子类型则以OpType::TypeName格式进行配置支持算子类型和算子名称混合配置。要编译的算子必须放在op_debug_config参数指定的配置文件中。配置示例如下op_debug_config参数指定的配置文件例如test0.cfg中增加如下信息op_debug_config ccec_g,oom op_debug_listGatherV2,opType::ReduceSum模型编译时_GatherV2,ReduceSum_算子按照ccec_g,oom选项进行编译。[!NOTE]说明开启ccec编译选项的场景下即ccec_O0、ccec_g选项会增大算子Kernel*.o文件的大小。动态shape场景下由于算子编译时会遍历可能存在的所有场景最终可能会导致由于算子Kernel文件过大而无法进行编译的情况此种场景下建议不要开启ccec编译选项。 由于算子kernel文件过大而无法编译的日志显示如下 message:link error ld.lld:error: InputSection too large for range extension thunk./kernel_meta_xxxxx.o:(xxxx)ccec编译器选项ccec_O0和oom不能同时开启可能会导致AICore Error报错报错信息示例如下...there is an aivec error exception, core id is 49, error code 0x4 ...若配置NPU_COLLECT_PATH环境变量不支持打开“检测Global Memory是否内存越界”的开关op_debug_config指定的配置文件中配置oom否则编译出来的模型文件或算子kernel包在使用时会报错。配置编译选项oom、dump_cce、dump_loc时若模型中含有如下通算融合算子算子编译目录kernel_meta中不会生成下述算子的*.o、*.json、*.cce文件。MatMulAllReduceMatMulAllReduceAddRmsNormAllGatherMatMulMatMulReduceScatterAlltoAllAllGatherBatchMatMulBatchMatMulReduceScatterAlltoAll【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

基于证据的每日工作报告:用 OpenViking `ov compile` 与 daily-report Skill 重建“当天究竟发生了什么“ 2026/9/10 3:11:12

基于证据的每日工作报告:用 OpenViking `ov compile` 与 daily-report Skill 重建“当天究竟发生了什么“

基于证据的每日工作报告:用 OpenViking ov compile 与 daily-report Skill 重建"当天究竟发生了什么" 【免费下载链接】OpenViking Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills. 项目地址: https://g…

阅读更多 →
Comprehensive Rust 课程术语表:Rust 核心概念速查、来源章节映射与源码级深度解析 2026/9/10 3:11:12

Comprehensive Rust 课程术语表:Rust 核心概念速查、来源章节映射与源码级深度解析

Comprehensive Rust 课程术语表:Rust 核心概念速查、来源章节映射与源码级深度解析 【免费下载链接】comprehensive-rust This is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust. 项目地址: https://…

阅读更多 →
OpenHuman React Reuse Foundation 设计解析:从重复实现到共享 UI 与状态管理接缝 2026/9/10 3:11:12

OpenHuman React Reuse Foundation 设计解析:从重复实现到共享 UI 与状态管理接缝

OpenHuman React Reuse Foundation 设计解析:从重复实现到共享 UI 与状态管理接缝 【免费下载链接】openhuman OpenHuman is an open source personal AI for Mac, Windows and Linux — local-first memory, agent orchestration, and deep research. 项目地址: …

阅读更多 →
Meta个人AI智能体Muse:想替你办事,更需要你信任 2026/9/10 3:11:12

Meta个人AI智能体Muse:想替你办事,更需要你信任

Meta发布个人AI智能体Muse,可将卖车、订机票等复杂事务委托给AI代理完成,目标直指OpenClaw和Instinct。WIRED评论认为,能力越强、授权越深,风险也越大。用户必须把邮件、支付与通讯记录交给Meta,而Meta历史隐私污点使信…

阅读更多 →
AI编程远非赢家通吃:Cognition估值达480亿美元 2026/9/10 3:11:12

AI编程远非赢家通吃:Cognition估值达480亿美元

AI编程工具公司Cognition达到480亿美元估值,其估值倍数甚至超过此前Cursor被SpaceX收购前的水平。这标志着资本正在放弃"赢家通吃"的假设,转而用更分散的视角押注人工智能编程市场。从GitHub Copilot到Devin,各家工具在功能、场景与…

阅读更多 →
ECC Swift 钩子规则实战:用 SwiftFormat、SwiftLint 与 swift build 构建 Claude Code 自动化代码质量门禁 2026/9/10 3:08:11

ECC Swift 钩子规则实战:用 SwiftFormat、SwiftLint 与 swift build 构建 Claude Code 自动化代码质量门禁

ECC Swift 钩子规则实战:用 SwiftFormat、SwiftLint 与 swift build 构建 Claude Code 自动化代码质量门禁 【免费下载链接】ECC The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Cl…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞