已关闭
【26.2.0众测】inductor 在 CI=true 下触发 make_fallback 断言、低内存编译需单线程等环境注意事项建议补充文档 #4998
程康博创建于  9月21日关闭于  21 天前
程康博
程康博
9月21日 创建

环境

  • Atlas 800T A2 / 910B3 / CANN 9.1.0 / Python 3.12 (aarch64)
  • torch 2.7.1+cpu + torch_npu 2.7.1.post8 + triton-ascend 3.2.2+release20260701 + torch-mlir 0.0.1 + torchair 0.1

使用 inductor 系列后端(Triton / MLIR / DVM)跑 distilbert-base-uncased 时遇到三个环境类问题,官方安装/快速开始文档均未提示,建议补充:

1. 环境变量 CI=true 会触发 inductor make_fallback 断言

许多开发/CI 镜像默认带 CI=true,会让 inductor 的 make_fallback 走 CI 严格断言(本机在 aten.frexp 处直接中断)。必须先 env -u CI 再运行 torch.compile 才能正常编译,建议文档显式提示。

2. 低内存环境编译大模型必须单线程,否则 OOM Kill

内存 2GB(含 swap)环境用 inductor 编译 distilbert 这类模型,默认并行编译会被 OOM Kill(退出码 137);设置 TORCHINDUCTOR_COMPILE_THREADS=1 后正常,实测单模型首次编译约 5 分钟(MLIR 后端 HFusion 全图编译约 27 分钟)。建议文档给出最低资源建议与该环境变量说明。

3. 三个后端获取/安装渠道分散,新手难以一次跑通

  • Inductor-MLIR:依赖 torch-mlir wheel(oepkgs 归档站点),调用方式 options={"npu_backend":"mlir"};
  • Inductor-DVM:torch_npu wheel 内置,但需在 import torch 前设置 TORCHINDUCTOR_NPU_BACKEND=dvm;
  • TorchAir-GE:需从 gitcode 拉源码 bash configure && cmake && make install_torchair。

建议统一提供一张“后端 — 包名 — 获取来源 — 必需环境变量 — 调用示例”对照表。


实验环境(众测任务实测)

  • Atlas 800T A2 / 910B3 / CANN 9.1.0 / Python 3.12 (aarch64)
  • torch 2.7.1+cpu + torch_npu 2.7.1.post8(部分场景 2.9.0.post8)
  • 说明:本 Issue 原建于生态仓 pytorch-ecosystem,按众测最新通知(Issue 统一在代码仓 Ascend/pytorch 提交)迁移至此。
likedislike
TorchNPU-BotTorchNPU-Bot成员
9月21日 添加了label:help-wantedbot-triaged
TorchNPU-Bot
TorchNPU-Bot成员
9月21日 评论:

检测到社区任务相关 issue,自动添加标签:help-wanted

likedislike
程康博
程康博
9月24日 评论:

众测交付 PR(生态仓 Ascend/pytorch-ecosystem,因 Issue 与 PR 分属两个仓库,以完整链接关联):
https://gitcode.com/Ascend/pytorch-ecosystem/merge_requests/39
该 Issue 对应的环境复现步骤(CI=true 断言、TORCHINDUCTOR_COMPILE_THREADS=1、三后端安装渠道)及 7 个后端改写脚本均在该 PR 的任务2目录中。

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