| Files | Last commit | Last update |
|---|---|---|
fix(bitwise_and): 资料与业务代码一致性整改 Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !6375 merge fix/bitwise_and_doc_code_consistency into master fix(bitwise_and): 资料与业务代码一致性整改 Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: cann-robot Description: ## 关联 Issue - #3590 ## 修改原因 math/bitwise_and 的资料与业务代码能力存在不一致:aclnnBitwiseAndTensorOut 系列接口漏支持 UINT32/UINT64、文档 dtype 与错误码和实现不符、两篇 Inplace 文档的 310P 支持标注与自身注释自相矛盾。本 MR 在**上板实测**后做一致性整改。 ## 主要修改 **1. 补齐 RegBase 接口能力(核心)** - aclnnBitwiseAndTensorOut / aclnnInplaceBitwiseAndTensorOut(仅 Ascend 950 系列可用)的 DTYPE_SUPPORT_LIST 由 7 种扩为 9 种(补 UINT32/UINT64),与 aclnnBitwiseAndTensor、torch.bitwise_and 对齐,消除**漏支持**; - 资料同步:aclnn_bitwiseand.h(self/other 7→9、out 7→15)、aclnnBitwiseAndTensorOut&aclnnInplaceBitwiseAndTensorOut.md(self/other 7→9、out 9→15),错误码表补两条“数据格式需保持一致”。 **2. 修正 310P 支持标注(仅资料口径,不动代码)** - aclnnInplaceBitwiseAndScalar.md、aclnnInplaceBitwiseAndTensor.md 的「Atlas推理系列产品」由“不支持”改为“支持”:与文档自身 dtype 注记自洽(310P 属支持产品、仅不支持 UINT32/UINT64),且与 bitwise_or / bitwise_xor / logical_and 全家族 Inplace 口径一致;业务代码无任何 310P 专属限制。两篇文档下方 dtype 注记保持原样。 **3. 通用资料纠错(与产品无关)** - 计算公式:标量接口 out_i = self_i & other、Inplace 张量接口 selfRef_i = selfRef_i & other_i;输入推导链接改为 deduction_relationship; - **带 out 接口的口径对齐**:aclnnBitwiseAndScalar.md 的 out 数据类型由 11 种补为 15 种(补 UINT32、UINT64、COMPLEX64、COMPLEX128),与同族 bitwise_or / bitwise_xor 的 Scalar 类文档逐字一致;aclnnBitwiseAndTensor.md 的 out(9 种)与两位兄弟的 Tensor 类文档保持一致,未改动; - 错误码表头统一“返回值”,修正越界与空指针行;README 的功能说明与「描述」列收敛为与其他算子一致(详见下条),并补齐两个 *TensorOut 样例链接; - README「参数说明」由 - self(aclTensor*,计算输入) 列表式改为与仓库标准一致的五列参数表(参数名 / 输入、输出、属性 / 描述 / 数据类型 / 数据格式),**参数说明内不再体现 aclTensor、aclScalar 类型标注**(与 bitwise_or/bitwise_xor 及全仓 189 个表格式 README 一致);dtype 口径以“支持列表 + 按产品注解”表达,并按 产品支持情况 里所有 √ 的产品补齐注解覆盖(950 落在表内支持列表;Atlas A3、Atlas A2、Atlas推理系列产品、Atlas训练系列产品 由表后注解给出不支持项,与本文档 aclnnBitwiseAndScalar.md 的 dtype 注记口径逐字一致),原内容不删减; - README 收敛为与其他算子写法一致:功能说明去掉 (Tensor-Tensor 与 Tensor-Scalar 两种形式) 枚举(全仓 236 个 README 中仅此 1 例),计算公式改为 当other为张量时 / 当other为标量时;「描述」列删除属于 API 文档的子句(支持非连续的Tensor、数据维度不支持8维以上),并去掉 other/out 里的 Tensor-Tensor形式/Tensor-Scalar形式 表述与 broadcast关系/互转换关系 子句(去掉限定词后这些子句在标量接口下会失真)—— 三列「描述」与同族 bitwise_or/bitwise_xor **逐字一致**;相关信息由本算子 5 篇 API 文档的「使用说明」「维度(shape)」「非连续Tensor」专列及 README 的约束说明承载,无信息丢失。 **4. 样例与测试** - 样例:新增两个 *TensorOut 样例;并补齐此前缺失的 aclnnInplaceBitwiseAndScalar / aclnnInplaceBitwiseAndTensor 两个样例,README 调用说明表随之从 2 行补到 **6 行**(与 docs/zh/op_api_list.md 的接口顺序一致;兄弟算子 bitwise_or 的 Inplace 接口也都有样例); - 测试:新增 RegBase dtype / 维度 / 格式契约 UT(8 例); - golden.py 注册 *TensorOut golden,并按 TTK TestSpec 补 third_party 三方标杆;新增 5 条 ST 用例;修正 arch35 ST 整数 dtype 取值范围与精度容差; - 删除 tests/ut/op_host/op_api 下 3 个**从未参与编译的死文件**(依据:该目录 CMakeLists 为占位、无 add_modules_ut_sources;op_host UT 仅 GLOB test_*_tiling.cpp、op_api UT 仅扫 tests/ut/op_api;全仓零引用)。README 只引用 examples/ 与 docs/,不引用 tests/,样例链接不受影响。 **5. 清理** - 6 个头 / 源文件 clang-format 对齐、去掉 CMakeLists 末尾空行、新增文件版权年份统一 2026(纯格式,无语义变化)。 ## 上板验证(Ascend950PR_9589) | 通路 | 结果 | |---|---| | aclnn ST(30 例) | **30/30 PASS** | | e2e ST(13 例) | **13/13 PASS** | | dtype 契约 UT(8 例) | **8/8 PASSED** | - 精度口径:精确算符 ((0,0),) + absolute_precision=1e-08;950 上 9×9 输入 × 15 种 out 组合穷举与 torch.bitwise_and 零差异; - 新增 4 个样例上板执行结果与预期一致:*TensorOut 两个样例输出 {0,1,2,3,0,1,4,4};aclnnInplaceBitwiseAndTensor 样例原地写回 {0,1,2,3,0,1,4,4}、aclnnInplaceBitwiseAndScalar 样例原地写回 {4,0,2,2}; - pre-commit run --files <变更文件> 全部通过。 ## 范围说明 - dtype 口径调整只落在 RegBase(两个 *TensorOut 接口仅 950 可用,与 docs/zh/op_api_list.md 第 66 行 A2/A3 列为 - 一致);非 RegBase 仅上述两处支持标注纠错,**不改动 dtype 口径与业务代码逻辑**; - 以下两条**本 MR 有意不做改动**,以避免影响其他芯片(非 RegBase)的既有行为:① aclnn_bitwise_and_tensor.cpp 是否补 IsRegBase() 区分(现状与 bitwise_or 一致,bitwise_xor 已两侧区分);② 两篇 Tensor 文档是否补「非 RegBase 不支持 UINT32、UINT64」注记。二者属非 RegBase 的 dtype 口径,需产品裁定与相应产品上板实测后另行处理。 See merge request: cann/ops-math!6375 | 26 days ago | |
style: 统一算子代码格式并规范License头声明 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6326 merge ccc_1013 into master style: 统一算子代码格式并规范License头声明 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 本次提交对 math 与 conversion 目录下 13 个算子进行统一的代码格式整改,不涉及功能逻辑变更: 1. 统一 clang-format 代码格式:函数体、参数列表、REG_OP 宏、初始化列表、空函数体等按 clang-format 风格重排。 2. 规范 License 头声明:framework 下 CMakeLists 与 ONNX 插件源文件头统一为标准格式,并修正 License 文本(补充 OR)。 3. 修复文件末尾换行符:补齐缺失的末尾换行。 4. 统一 Python 文档字符串风格:golden.py 中 ''' 调整为 """。 涉及算子:clip_by_value、clip_by_value_v2、addcdiv、addcmul、bitwise_and、bitwise_or、bitwise_xor、floor_mod、lerp、logical_and、logical_or、mod、pow,以及 tests/ut/op_host/CMakeLists.txt。 ## 关联的Issue - #3651 ## 测试 本次仅代码格式调整,无逻辑变更;UT/ST 用例同步格式化,不影响用例语义与预期结果。 ## 文档更新 无 ## 类型标签 - [x] 其他,请描述:代码格式整改 See merge request: cann/ops-math!6326 | 24 days ago |
| Files | Last commit | Last update |
|---|---|---|
| 26 days ago | ||
| 24 days ago |