文件最后提交记录最后更新时间
[bugfix][v2.7.1_logs] improve npugraph logs Co-authored-by: y30062407<handsome0324@163.com> # message auto-generated for no-merge-commit merge: !37130 merge v2.7.1_logs into v2.7.1 [bugfix][v2.7.1_logs] improve npugraph logs Created-by: yangch0324 Commit-by: y30062407 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 补全 NPUGraph 框架全链路日志,覆盖 C++ 核心层、Python 图树管理层、Python 单图层以及内存池层,共 12 个修改点: **1. C++ capture_begin 补全录制完成状态日志(NPUGraph.cpp)** 在 capture_begin() 返回前输出 model_ri_ 句柄、capture 设备、内存池 ID、stream 地址、capture mode,用于排查录制阶段的内存池冲突和 stream 配置错误。 **2. C++ capture_end 补全录制结束状态日志(NPUGraph.cpp)** 在 capture_end() 返回前输出 model_ri_ 句柄和 has_graph_exec 标志,用于确认录制是否成功完成。 **3. C++ reset 添加图销毁日志(NPUGraph.cpp)** 在 reset() 函数的图资源释放路径中输出 model_ri_、capture_dev、mempool_id,用于追踪图对象生命周期和排查内存泄漏。 **4. C++ super_kernel_scope_begin/end 添加日志(Graph.cpp)** 在 pybind11 绑定层 _super_kernel_scope_begin / _super_kernel_scope_end 调用前后输出 scope_name,用于排查超核优化的 scope 配对问题。 **5. Python NPUGraph 对象生命周期日志(graphs.py)** 在 NPUGraph.__init__()NPUGraph.reset() 中添加日志,输出 graph_id 和 auto_dispatch 状态,与 C++ 层日志联动形成完整的图生命周期视图。 **6. Python NPUGraphTreeManager 初始化与 shutdown 日志(_graph_tree.py)** 在管理器构造函数完成和 shutdown() 入口/出口添加日志,输出 device、pool ID、stream 信息,追踪设备级图树生命周期。 **7. Python NPUGraphNode 录制完成日志(_graph_tree.py)** 在 _record() 返回前输出图节点录制结果(输出数量、非静态输入数量、静态输入索引数量),用于排查录制异常。 **8. Python check_invariants 失败日志(_graph_tree.py)** 在三种 invariant check 失败分支(CudagraphManagedIdxMismatch / ExpectedDeadIndicesBeforeGraph / StaticInputIdxMismatch)添加日志,输出不匹配的具体信息,用于排查频繁 re-record 的根因。 **9. Python checkpoint 细节日志(_graph_tree.py)** 在 apply_checkpoint_execution_state_in_allocator() 中添加 live_storages 数量和待释放内存指针数量的日志,用于排查 checkpoint/restore 流程中的内存一致性问题。 **10. C++ NPUCachingAllocator 图池操作日志(NPUCachingAllocator.cpp)** 在 5 个图内存池接口添加日志: - beginAllocateToPool:输出新建/复用池的 mempool_id 和 use_count - endAllocateToPool:输出结束录制的 mempool_id - releasePool:输出 use_count 降为 0 时的 mempool_id - getCheckpointState:输出 checkpoint 时的 head_blocks 数量 - setCheckpointPoolState:输出恢复的 segments 数量和释放的 allocations 数量 **11. Python graph context manager 异常日志增强(graphs.py)** 在 graph.__exit__() 的异常分支中补充输出 graph_id、stream、pool、device 信息,帮助快速定位 capture 失败上下文。 **12. Python 图树状态机转换日志(_graph_tree.py)** 在 record_function / execute_node / run_eager 中设置 ExecutionState 后添加状态转换日志,输出新状态、节点 ID 和 generation,完整追踪状态机转换历史。 **日志级别原则:** - 所有新增日志均为 DEBUG 级别,不影响生产环境性能 - 已有 ERROR/WARNING 级别日志仅在内容上增强(修改点 11),不新增 INFO/WARNING/ERROR 日志 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7404318/3b9a664e-4b0a-4675-a84e-6d9acef6cd2d/image.png 'image.png') **验证场景:** 1. 在 NPU 设备上使用 torch.compile 以 "npugraphs" backend 运行模型训练/推理 2. 设置环境变量 TORCH_CPP_LOG_LEVEL=0 TORCH_NPU_NPUGRAPH=DEBUG 启用 NPUGraph C++ 日志 3. 设置 Python logging 级别为 DEBUG:torch._logging.set_logs(npugraph=logging.DEBUG) **验证方法:** 1. 检查 capture 阶段日志:确认 [NPUGRAPH][Capture] begin / begin done / end / end done 完整输出,model_ri、mempool_id、capture_dev 正确 2. 检查 replay 阶段日志:确认 [NPUGRAPH][Replay] 输出 model_ri 和 device 3. 检查图树日志:确认 [NPUGRAPH-TREE][Manager] / [Node] / [State] 系列日志按预期输出 4. 检查 checkpoint 日志:在 warmup → recording 切换时确认 [NPUGRAPH-TREE][Checkpoint] 日志输出 live_storages 和 dead_ptrs 数量 5. 检查 invariant 日志:确认仅在 re-record 触发时有 [NPUGRAPH-TREE][Invariant] 输出 6. 检查图对象生命周期:确认 [NPUGRAPH][Lifecycle] 日志在 graph 创建和 reset 时输出 7. 检查图池日志:确认 NPUCachingAllocator beginAllocateToPool / endAllocateToPool / releasePool 配对输出 8. 检查 capture 失败场景:确认 [NPUGRAPH] ERROR — capture failed 日志包含 graph_id / stream / pool / device 信息 **测试用例:** 本修改仅在已有日志路径中添加 DEBUG 级别日志,不改变任何业务逻辑。使用现有 CI 全量测试用例验证无回归即可。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!371301 小时前
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35871 merge v2.7.1_lintrunner into v2.7.1 fix: lintrunner --all-files --take NEWLINE -a Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!3587115 天前
!19525 [cleancode]core Merge pull request !19525 from SCh-zx/master 1 年前
cleancode. 2 年前
add device_guard for npu_info_deserialization Co-authored-by: huangyunlong2022<huangyunlong4@h-partners.com> # message auto-generated for no-merge-commit merge: merge 2.7ser into v2.7.1 add device_guard for npu_info_deserialization Created-by: huangyunlong2022 Commit-by: huangyunlong2022 Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!252458 个月前
Register the NPU Tensor serialization implementation 2 年前
fix storage when aclgraph need an empty allocater Co-authored-by: SCh_zx<1325467101@qq.com> # message auto-generated for no-merge-commit merge: !33180 merge v2.7.1 into v2.7.1 fix storage when aclgraph need an empty allocater Created-by: SCh_zx Commit-by: SCh_zx Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!331801 个月前
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35871 merge v2.7.1_lintrunner into v2.7.1 fix: lintrunner --all-files --take NEWLINE -a Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!3587115 天前
!19525 [cleancode]core Merge pull request !19525 from SCh-zx/master 1 年前
!6776 [Cleancode] Merge pull request !6776 from huangyunlong/2.1cl23 2 年前
!19525 [cleancode]core Merge pull request !19525 from SCh-zx/master 1 年前
!19525 [cleancode]core Merge pull request !19525 from SCh-zx/master 1 年前