Pull Request已成功合入, 合并人@ascend-robot
(感谢 zhoucy 的贡献)Thanks for your pull-request.
The full list of commands accepted by me can be found at here。
You can get sig-info at here
PR Approval Progress
✅ Congratulations! All modules have met the lgtm and approve requirements.
Module Approval Details
| module | lgtm status | approve status |
|---|---|---|
| repo-Ascend/RecSDK | ✅ j0168, huiyangpeng, aizouba, tqy1998 (4/3) | ✅ j0168 (1/1) |
💡 Tip:
- Committer can comment
/approveor/lgtm- Commenting
/approveimplies both code review (lgtm) and intent to merge (approve)
CLA Signature Pass
zhoucy998, thanks for your pull request. All authors of the commits have signed the CLA. 👍


| 阶段 | 任务名 | 状态 | 详情 |
|---|---|---|---|
| 编译构建 | PR-build-SAST-check | ✅ | >>> |
| Build_TF | ✅ | >>> | |
| Build_torchrec | ✅ | >>> | |
| Build_add_ons | ✅ | >>> | |
| 恶意代码检查 | Antipoison | ✅ | >>> |
| 编码安全与规范检查 | CodeCheck | ✅ | >>> |
| 开源片段检查 | SCA | ✅ | >>> |
| 开发者测试 | presmoke_TF | ✅ | >>> |
| UT_torchrec | ✅ | >>> | |
| PreSmoke_torchrec | ✅ | >>> | |
| UT_python_common | ✅ | >>> | |
| UT_python_tf1 | ✅ | >>> | |
| UT_AccCTR | ✅ | >>> | |
| UT_cpp_tf1 | ✅ | >>> | |
| 流水线 | PR-pipeline_RecSDK | ✅ | >>> |


/lgtm


这里是不是忘了在run.sh里声明hstu_dense_forward文件添加支持950命名空间


/lgtm


问题类型: 编码规范
问题描述: 在多个算子的 run.sh 脚本中,通过 sed 命令在文件头部插入#define SUPPORT_950 宏定义。这种修改方式会导致每次构建时都重新修改源文件,可能引起版本控制混乱和构建不一致性问题。
文件路径: cust_op/ascendc_op/ai_core_op/cust_op_by_addr/c310/run.sh
代码行号: 70
修改建议:
建议改用编译时宏定义方式,在 CMakeLists.txt 或编译命令中通过-D 参数传递 SUPPORT_950 宏,例如:add_definitions(-DSUPPORT_950) 或在 cmake 预设中配置 compile_definitions。这样避免修改源文件,保持源码纯净。


后续研究改进
问题类型: 性能问题
问题描述: 当前方案对 58 个算子文件都添加了相同的 sed 命令,存在大量重复代码。如果未来需要添加新的芯片支持,需要在每个算子的 run.sh 中重复添加类似的 sed 命令,维护成本高且容易遗漏。
文件路径: cust_op/ascendc_op/ai_core_op/fused_lazy_adam/c310/run.sh
代码行号: 67
修改建议:
建议抽取公共的芯片配置逻辑到统一的构建脚本或 CMake 宏中,例如创建 chips_config.cmake 或在顶层 CMakeLists.txt 中统一管理芯片支持配置,各算子通过 include 或调用宏来继承配置,减少重复代码。


| 阶段 | 任务名 | 状态 | 详情 |
|---|---|---|---|
| 编译构建 | PR-build-SAST-check | ✅ | >>> |
| Build_TF | ✅ | >>> | |
| Build_TF_v2 | ✅ | >>> | |
| Build_torchrec | ✅ | >>> | |
| Build_add_ons | ✅ | >>> | |
| Build_ops_A5 | ❌ | >>> | |
| Build_torchrec_v2 | ✅ | >>> | |
| 恶意代码检查 | Antipoison | ✅ | >>> |
| 编码安全与规范检查 | CodeCheck | ✅ | >>> |
| 开源片段检查 | SCA | ✅ | >>> |
| 开发者测试 | presmoke_TF | ✅ | >>> |
| UT_torchrec | ✅ | >>> | |
| PreSmoke_torchrec | ✅ | >>> | |
| UT_python_common | 🕚 | >>> | |
| UT_python_tf1 | 🕚 | >>> | |
| UT_AccCTR | 🕚 | >>> | |
| UT_cpp_tf1 | 🕚 | >>> | |
| 流水线 | PR-pipeline_RecSDK | ❌ | >>> |


/lgtm


/lgtm


/lgtm


| 阶段 | 任务名 | 状态 | 详情 |
|---|---|---|---|
| 编译构建 | PR-build-SAST-check | ✅ | >>> |
| Build_TF | ✅ | >>> | |
| Build_TF_v2 | ✅ | >>> | |
| Build_torchrec | ✅ | >>> | |
| Build_add_ons | ✅ | >>> | |
| Build_ops_A5 | ✅ | >>> | |
| Build_torchrec_v2 | ✅ | >>> | |
| 恶意代码检查 | Antipoison | ✅ | >>> |
| 编码安全与规范检查 | CodeCheck | ✅ | >>> |
| 开源片段检查 | SCA | ✅ | >>> |
| 开发者测试 | presmoke_TF | ✅ | >>> |
| UT_torchrec | ✅ | >>> | |
| PreSmoke_torchrec | ✅ | >>> | |
| UT_python_common | ✅ | >>> | |
| UT_python_tf1 | ✅ | >>> | |
| UT_AccCTR | ✅ | >>> | |
| UT_cpp_tf1 | ✅ | >>> | |
| 流水线 | PR-pipeline_RecSDK | ✅ | >>> |


/approve


/lgtm


Review Guide
This pull-request passes review.
Committers who wrote a comment of /approve are: j0168.
Reviewers who wrote a comment of /lgtm are: j0168, aizouba, tqy1998, huiyangpeng.


问题/功能描述
本次PR为多个AscendC自定义AI Core算子添加了对Ascend 950芯片的编译支持。主要解决了在构建针对Ascend 950平台的算子包时,由于缺少相应的芯片配置宏定义,导致算子无法正确注册和编译的问题,从而确保了算子库在新硬件平台上的兼容性和可移植性。
修改方案描述
修改方案采用条件编译的方式,统一通过宏
SUPPORT_950来控制对Ascend 950平台的支持。具体分为两部分:一是在多个算子的主机端(op_host)C++源码中,将对ascend950的配置调用(AddConfig("ascend950"))包裹在#ifdef SUPPORT_950和#endif预处理器指令中;二是在对应算子(如fused_lazy_adam、hstu_dense_backward_fuxi等)的C310版本构建脚本(run.sh)中,通过sed命令在编译前向主机端源文件头部插入#define SUPPORT_950宏定义。该方案实现了平台支持的灵活配置,保持了与原有硬件平台(如Ascend 910系列)的代码兼容性。开发自检