已关闭
[Bug] lazy npugraph_ex proxy 与独立打包导入不兼容,smoke_npugraph_ex 全量失败 #4222
黄桂军创建于 11 天前关闭于 10 天前
11 天前 关联了看板:FrameworkPTAdapter 版本issue看板
11 天前 添加了label:triage-review
11 天前 添加了label:bug
TorchNPU-Bot
11 天前 评论:
11 天前 评论:
issue待分派,添加triage-review标签


11 天前 关联了pull request:fix: 修复懒加载 npugraph_ex 子模块绑定(#4222)
11 天前 关联了pull request:fix: 修复 lazy 编译器代理子模块导入兼容性(#4222)
11 天前 关联了pull request:fix: 修复 lazy 编译器代理子模块导入兼容性(#4222)
11 天前 关联了pull request:fix: 修复 lazy 编译器代理子模块导入兼容性(#4222)
11 天前 关联了pull request:fix: 修复 lazy 编译器代理子模块导入兼容性(#4222)
11 天前 关联了pull request:fix: 修复 lazy 编译器代理子模块导入兼容性(#4222)
10 天前 关闭了 issue
10 天前 添加了label:resolved
问题概述
PR-pipeline_torchair_smoke#455的smoke_npugraph_ex任务失败。失败与 torchair PR #3584 的文档改动无关,根因初步定位为 torch_npu 的 Dynamo 懒加载代理与独立打包的npugraph_ex导入方式不兼容。相关流水线:
环境信息
关键错误
所有失败用例均在
setUp()阶段失败,还未进入 stream/aclgraph 业务逻辑:复现链路
流水线先将独立包复制到:
独立包初始化代码使用绝对导入:
from npugraph_ex.npu_fx_compiler import ( compile_fx, get_npu_backend, get_compiler )而 torch_npu 提交
ee15004fe8064b8e90018177109c775a93fcf2fd的懒加载路径在add_dynamo_methods()中预先安装:sys.modules["npugraph_ex"] = _LazyNpuGraphEx("npugraph_ex")_LazyNpuGraphEx加载真实模块后,属性访问转发到torch_npu.dynamo.npugraph_ex。独立包通过顶层npugraph_ex.npu_fx_compiler导入的子模块没有正确绑定到该真实包对象,最终导致npu_fx_compiler属性缺失。初步定位
疑似回归点:
torch_npu/dynamo/__init__.py:_LazyNpuGraphEx.__getattr__()torch_npu/utils/_dynamo.py:add_dynamo_methods()安装顶层npugraph_ex代理ee15004fe8064b8e90018177109c775a93fcf2fd(defer dynamo and inductor imports)PR #3584 本身只修改 torchair 文档文件,不包含运行时代码修改。
建议修复方向
请在 torch_npu 侧修复懒代理与独立包导入协议的兼容性,优先考虑:
_LazyNpuGraphEx正确支持__spec__、__path__、子模块导入和子模块属性绑定;或sys.modules["npugraph_ex"]代理替换真实包;或torch_npu/dynamo/npugraph_ex后的真实导入场景:import npugraph_ex assert hasattr(npugraph_ex, "npu_fx_compiler") assert hasattr(npugraph_ex.npu_fx_compiler, "_optimize_fx")不建议通过修改 torchair 文档或屏蔽 smoke 用例规避。