已开启
[Feature]: 库上看护模型适配fbgemm_ascend/ops_rec特性 #1346
zhoucy创建于  8 天前
zhoucy
zhoucy成员
8 天前 创建

提交提案之前,请先检索仓库内是否已有相同的提案,如已有请在同一提案中进行讨论。

💻 需求背景、当前现状、期望实现的功能内容、具体的设计方案、以及测试方案

现状

1. 源码编译或 run 包安装算子(bash mxrec_opp_{算子名}.run)
2. 编译 PTA 适配层,产出 libfbgemm_npu_api.so
3. 模型脚本中载入 .so 文件:
   torch.ops.load_library(f"{sysconfig.get_path('purelib')}/libfbgemm_npu_api.so")
4. 模型中调用算子:torch.ops.mxrec.xxx 或 torch.ops.fbgemm.xxx

旧方式痛点:需手动 load_library,需编译产出 .so,路径依赖 sysconfig,易出错。

目标

1. 源码编译或 whl 包安装 fbgemm_ascend、ops_rec
2. 模型脚本中载入 SDK:
   import fbgemm_ascend, ops_rec
3. 模型中调用算子:
   - fbgemm 域算子(fbgemm_ascend 提供):torch.ops.fbgemm.xxx
   - ops_rec 专属算子(hstu 等):torch.ops.mxrec.xxx

新方式优势:import 即自动完成 NPU 算子注册绑定,无需手动 load_library。

核心规则:模型中使用的 fbgemm 相关接口均改为 torch.ops.fbgemm 调用。原来通过 torch.ops.mxrec.<fbgemm域算子> 调用的(如 gr_nv 中的 torch.ops.mxrec.jagged_to_padded_densetorch.ops.mxrec.dense_to_jagged),必须改为 torch.ops.fbgemm.<同名算子>

替代方案

补充说明

欢迎加入社区,感谢您对社区的贡献 🎉!

likedislike
zhoucyzhoucy成员
8 天前 添加了label:feature
zhoucyzhoucy成员
8 天前 关联了pull request:[feat]库上看护模型适配fbgemm_ascend/ops_rec特性
zhoucyzhoucy成员
8 天前 将 zhoucy998 设为负责人
taoqiuyu1998
taoqiuyu1998成员
8 天前 评论:

/label add triaged

likedislike
ascend-robotascend-robot成员
8 天前 添加了label:triaged
zhoucyzhoucy成员
6 天前 关联了pull request:[feat]库上看护模型适配fbgemm_ascend/ops_rec特性