Pull Request已成功合入, 合并人@CANN-robot
(感谢 zl_hw 的贡献)以下是根据您提交的修改文件推荐的Reviewer和Committer序列,需各模块评审通过后方可合入
| Module List | Reviewers | Committers |
|---|---|---|
| repo-cann/ops-math | N/A | loov1, wangrui_, songkai111, zhou-qilong, gubaocheng |
| conversion/tensor_move | N/A | rxtfeng, zhangyuxiang0119, zhou-qilong, gubaocheng, loov1 |


🔵 source code change are detected, tasks labels is removed in this pull request!


代码结构与可维护性: 注释中存在拼写错误。第20行注释中的'Donot'应为'Does not'或'Doesn't',这是不规范的英文表达,会影响代码文档的可读性和专业性。
问题类型: 代码结构与可维护性
文件路径: conversion/assign/op_graph/assign_proto.h
行号: 20
问题代码:
*@brief Updates "ref" by assigning "value" to it. Donot support broadcasting operations.
修改建议:
将'Donot'修改为'Does not'或'Doesn't'。建议修改为:'*@brief Updates "ref" by assigning "value" to it. Does not support broadcasting operations.'
此评论由代码审查工具自动生成


代码结构与可维护性: 注释中说明'validate_shape'和'use_locking'属性是'reserved'(保留的)。但在代码实现中(第51-52行),它们被定义了默认值(true和false)。'reserved'通常意味着该属性当前未实现或未使用,但为其定义了默认值可能会误导用户,认为该功能已生效。这存在文档与实现不一致的风险。
问题类型: 代码结构与可维护性
文件路径: conversion/assign/op_graph/assign_proto.h
行号: 38
问题代码:
* This attribute is reserved. \n
修改建议:
建议统一处理:1. 如果属性确实未实现,应在代码中明确标注(例如通过注释),并考虑是否需要在REG_OP中定义它们(如果定义是为了向前兼容,则应在文档中说明)。2. 如果属性已实现,则应从文档中移除'reserved'字样。最佳实践是确保文档准确反映代码行为。
此评论由代码审查工具自动生成


代码结构与可维护性: 定义了常量block_size = 32,但在代码中从未使用(第34行使用了ONE_BLK_BYTE = 32)。存在重复定义的常量,可能造成混淆。
问题类型: 代码结构与可维护性
文件路径: conversion/assign/op_host/arch35/assign_tiling_arch35.cpp
行号: 28
问题代码:
constexpr int64_t block_size = 32; // one block size is 32Bytes
修改建议:
统一常量定义,删除block_size或将其重命名为ONE_BLK_BYTE并替换所有使用ONE_BLK_BYTE的地方。
此评论由代码审查工具自动生成


代码结构与可维护性: 结构体AssignCompileInfo的成员变量命名(core_num, ub_size)与AssignTilingParam的成员变量命名(totalCoreNum, ubSize)风格不一致。AssignCompileInfo使用下划线分隔,而AssignTilingParam使用驼峰命名法。在同一头文件的相邻结构体中,命名风格不统一,影响代码一致性。
问题类型: 代码结构与可维护性
文件路径: conversion/assign/op_host/arch35/assign_tiling_arch35.h
行号: 39
问题代码:
struct AssignCompileInfo {
int64_t core_num;
int64_t ub_size;
};
修改建议:
建议统一整个文件或模块的命名风格。如果项目约定结构体成员使用下划线命名法,则应将AssignTilingParam的成员改为下划线风格(如total_core_num, ub_size等)。反之,如果约定使用驼峰命名法,则应将AssignCompileInfo的成员改为驼峰风格(如coreNum, ubSize)。
此评论由代码审查工具自动生成


代码结构与可维护性: 文件末尾缺少换行符(No newline at end of file)。虽然这不影响编译,但不符合许多代码规范(如POSIX标准),可能导致某些工具(如diff、cat)在处理文件时产生意外行为或警告。
问题类型: 代码结构与可维护性
文件路径: conversion/assign/op_host/arch35/assign_tiling_arch35.h
行号: 44
问题代码:
} // namespace optiling
#endif // AIR_CXX_RUNTIME_V2_OP_IMPL_ASSIGN_H_
修改建议:
在文件最后一行添加一个换行符。
此评论由代码审查工具自动生成


代码结构与可维护性: Init函数的workspace参数未被使用。虽然这可能是在其他版本或上下文中预留的参数,但未使用的参数可能引起混淆。
问题类型: 代码结构与可维护性
文件路径: conversion/assign/op_kernel/arch35/assign_scalar.h
行号: 53
问题代码:
__aicore__ inline void AssignScalarKernel<T>::Init(GM_ADDR x, GM_ADDR y, GM_ADDR workspace,
const TensorMoveTilingData &tilingData)
修改建议:
如果workspace确实不需要,可以考虑从参数列表中移除,或者在函数体内添加注释说明其预留目的。如果未来可能使用,应添加相关处理逻辑。
此评论由代码审查工具自动生成


问题/功能描述
本次PR主要实现两个核心算子:Assign和TensorMove。Assign算子用于将一个张量的值赋值给另一个同形状、同数据类型的张量,不支持广播,旨在为深度学习框架提供基础的变量更新功能,兼容TensorFlow的Assign算子行为。TensorMove算子用于实现张量数据在设备内存间的高效拷贝,是一个通用的数据搬运基础操作。两个算子均支持多种数据类型(包括浮点、整数、布尔、复数等)和动态形状/动态秩。
修改方案描述
新增了Assign和TensorMove算子的完整实现,包括算子定义、形状推导、内核实现、Tiling策略及单元测试。具体包括:1)为两个算子分别定义了算子原型、接口及数据类型/形状校验逻辑;2)实现了针对AscendC架构(arch35)的高性能内核代码和Tiling算法,完成数据分片、核数分配和内存优化;3)为Assign算子提供了针对标量赋值场景的特殊处理;4)新增了完整的单元测试框架和测试用例,覆盖形状推断、Tiling计算等功能点;5)更新了相关的CMake构建配置和算子配置文件(JSON/INI),确保算子正确集成与部署。


以下是根据您提交的修改文件推荐的Reviewer和Committer序列,需各模块评审通过后方可合入
| Module List | Reviewers | Committers |
|---|---|---|
| math/sort | N/A | rxtfeng, zhangyuxiang0119, zhou-qilong, gubaocheng, loov1 |
| repo-cann/ops-math | N/A | loov1, wangrui_, songkai111, zhou-qilong, gubaocheng |
| conversion/contiguous | N/A | wangrui_, songkai111, FelixTang7, rxtfeng, zhangyuxiang0119 |
| conversion/tensor_move | N/A | songkai111, FelixTang7, rxtfeng, zhangyuxiang0119, zhou-qilong |
| conversion/trans_data | N/A | loov1, songkai111, FelixTang7, rxtfeng, zhangyuxiang0119 |


🔵 source code change are detected, tasks labels is removed in this pull request!


以下是根据您提交的修改文件推荐的Reviewer和Committer序列,需各模块评审通过后方可合入
| Module List | Reviewers | Committers |
|---|---|---|
| conversion/tensor_move | N/A | songkai111, FelixTang7, rxtfeng, zhangyuxiang0119, zhou-qilong |
| conversion/trans_data | N/A | zhou-qilong, gubaocheng, loov1, songkai111, FelixTang7 |
| math/sort | N/A | zhangyuxiang0119, zhou-qilong, gubaocheng, loov1, wangrui_ |
| repo-cann/ops-math | N/A | loov1, wangrui_, songkai111, zhou-qilong, gubaocheng |
| conversion/contiguous | N/A | wangrui_, songkai111, FelixTang7, rxtfeng, zhangyuxiang0119 |


🔵 source code change are detected, tasks labels is removed in this pull request!


以下是根据您提交的修改文件推荐的Reviewer和Committer序列,需各模块评审通过后方可合入
| Module List | Reviewers | Committers |
|---|---|---|
| conversion/tensor_move | N/A | loov1, wangrui_, songkai111, FelixTang7, rxtfeng |
| conversion/trans_data | N/A | zhangyuxiang0119, wangrui_, zhou-qilong, gubaocheng, loov1 |
| math/sort | N/A | loov1, wangrui_, songkai111, FelixTang7, rxtfeng |
| repo-cann/ops-math | N/A | zhou-qilong, gubaocheng, loov1, wangrui_, songkai111 |
| conversion/contiguous | N/A | FelixTang7, rxtfeng, zhangyuxiang0119, zhou-qilong, gubaocheng |


🔵 source code change are detected, tasks labels is removed in this pull request!


流水线任务触发成功,任务链接 [b7abc7445efe4ce2a0bf74a53241045b]
| 任务名称 | 状态 | 日志 | 下载链接 |
|---|---|---|---|
| codecheck | ❌ FAILED | >>>>> | |
| SCA | ❌ FAILED | >>>>> | |
| anti_virus | ✅ SUCCESS | >>>>> | |
| Check_Pr | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86 | ✅ SUCCESS | >>>>> | >>>>> |
| Compile_Ascend_X86_mobile_station | ✅ SUCCESS | >>>>> | >>>>> |
| Compile_Ascend_ARM | ✅ SUCCESS | >>>>> | >>>>> |
| Compile_Ascend_X86_experimental | ✅ SUCCESS | >>>>> | >>>>> |
| Compile_Ascend_ARM_experimental | ✅ SUCCESS | >>>>> | >>>>> |
| Smoke_A900 | ✅ SUCCESS | >>>>> | |
| API_Check | ⚠️ WARNING | >>>>> | |
| UT_Test | ⚪ ABORTED | ||
| UT_Test_experimental | ⚪ ABORTED |
[2026-01-13 11:02:23] CI执行失败


流水线任务触发成功,任务链接 [b59c58a00ab54a708eb3284752f682ef]
| 任务名称 | 状态 | 日志 | 下载链接 |
|---|---|---|---|
| codecheck | ✅ SUCCESS | >>>>> | |
| SCA | ✅ SUCCESS | >>>>> | |
| anti_virus | ✅ SUCCESS | >>>>> | |
| Check_Pr | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86 | ✅ SUCCESS | >>>>> | >>>>> |
| Compile_Ascend_X86_mobile_station | ✅ SUCCESS | >>>>> | >>>>> |
| Compile_Ascend_ARM | ✅ SUCCESS | >>>>> | >>>>> |
| Compile_Ascend_X86_experimental | ✅ SUCCESS | >>>>> | >>>>> |
| Compile_Ascend_ARM_experimental | ✅ SUCCESS | >>>>> | >>>>> |
| Smoke_A900 | ✅ SUCCESS | >>>>> | |
| API_Check | ⚠️ WARNING | >>>>> | |
| UT_Test | ✅ SUCCESS | ||
| UT_Test_experimental | ✅ SUCCESS |
[2026-01-13 12:07:57] CI执行结束


/approve


Review Guide
This Pull-Request Passes Review.
Committers who wrote a comment of /approve are: songkai111.
Reviewers who wrote a comment of /lgtm are: wangrui_, songkai111.


描述
关联的Issue
测试
文档更新
类型标签