已关闭
[benchmarks/torchbench] vision_maskrcnn 无法在 NPU 上运行:torchvision::nms / roi_align 无 CPU kernel #4687
huyuchao创建于  23 天前关闭于  2 天前
huyuchao成员
23 天前 创建

问题现象

torchbench.py --only vision_maskrcnn --devices npu 推理失败:本栈 torchvision wheel 未包含 torchvision::nms / torchvision::roi_align 的 CPU kernel,NPU 张量经 CPU dispatcher fallback 后无可用实现,模型无法在 NPU 上执行。

修复方案(对应 PR #46021,vision_maskrcnn 与 fambench_xlmr 合并提交)

npu_support.py 新增 @register_patch("vision_maskrcnn"),与库上其余模型 patch 同构:

  1. torchvision.ops.boxes.nms:NPU 张量路由 torch.ops.npu.npu_nms_with_mask(boxes[N,4] 与 scores 拼 [N,5] 输入;uint8 keep mask 转 bool、索引转 long 以通过 dynamo fake 校验);
  2. torchvision.ops.roi_align(经 import_module 取真子模块——包属性被同名函数遮蔽)及 torchvision.ops.poolers.roi_align 命名空间同步替换:NPU 张量路由 torch.ops.npu.npu_roi_align;
  3. CPU 路径保持原 torchvision 实现(is_npu 门控),幂等旗标防重复 patch。

验证

  • triton_experimental 后端 perf 0.463x(26 图编译成功)、accuracy pass_accuracy。
likedislike
TorchNPU-BotTorchNPU-Bot成员
23 天前 添加了label:triage-review
TorchNPU-Bot
TorchNPU-Bot成员
23 天前 评论:

issue待分派,添加triage-review标签

likedislike
Hhuyuchao成员
23 天前 关联了pull request:fix(benchmark): vision_maskrcnn NPU 适配(npu_support register_patch 注入 nms/roi_align 路由)
TorchNPU-BotTorchNPU-Bot成员
23 天前 添加了label:bot-triaged;删除了label:triage-review
TorchNPU-Bot
TorchNPU-Bot成员
23 天前 评论:

检测到当前 issue 已关联 PR,自动添加标签:bot-triaged

likedislike
Hhuyuchao成员
14 天前 修改了issue 的描述
chenrayraychenrayray成员
7 天前 关联了里程碑:v26.2.0
chenrayray
chenrayray成员
2 天前 评论:

因为本单相关实施 PR 已全部结束(1 个已合入、0 个已关闭),按照本轮 issue 整理规则,先关闭此单。

核对的 PR:

如仍有问题或需要继续推进,请重新打开,并补充当前 PyTorch / TorchNPU / CANN 版本、硬件环境、复现步骤及相关日志;需求类请补充尚未完成的具体内容。

likedislike
chenrayraychenrayray成员
2 天前 关闭了 issue
chenrayraychenrayray成员
2 天前 issue状态由 TODO 改变为 DONE
ascend-robotascend-robot成员
2 天前 添加了label:resolved