| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: 规范示例代码格式 Co-authored-by: zhang-song-rui<zhangsongrui@h-partners.com> # message auto-generated for no-merge-commit merge: !4464 merge master into master fix: 规范示例代码格式 Created-by: zhang-song-rui Commit-by: zhang-song-rui Merged-by: cann-robot Description: ## 描述 规范 math/ 目录下相关算子的示例代码格式,不涉及功能逻辑变更: - 将 CHECK_RET(..., return ret;); 统一为 CHECK_RET(..., return ret);,涉及 24 个文件、29 处。 - 将文档中的 while(0) 统一为 while (0),涉及 less、less_equal、gcd 共 5 个文件、10 处。 - 为 not_equal 文档中三元运算符的冒号后补充空格,涉及 2 个文件、4 处。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2527 ## 测试 - 使用全文检索确认修改范围内无上述格式问题残留。 - 检查 Git diff,确认共修改 31 个文件、43 处,均为格式调整。 - 推送时 Git Hooks 检查通过。 - 本次仅修改示例及文档格式,未执行算子功能测试。 ## 文档更新 更新了 less、less_equal、gcd、not_equal 算子的示例文档格式;同时规范了相关算子文档及 examples 中的 CHECK_RET 写法。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他:代码格式规范 See merge request: cann/ops-math!4464 | 1 个月前 | |
fix: 规范示例代码格式 Co-authored-by: zhang-song-rui<zhangsongrui@h-partners.com> # message auto-generated for no-merge-commit merge: !4464 merge master into master fix: 规范示例代码格式 Created-by: zhang-song-rui Commit-by: zhang-song-rui Merged-by: cann-robot Description: ## 描述 规范 math/ 目录下相关算子的示例代码格式,不涉及功能逻辑变更: - 将 CHECK_RET(..., return ret;); 统一为 CHECK_RET(..., return ret);,涉及 24 个文件、29 处。 - 将文档中的 while(0) 统一为 while (0),涉及 less、less_equal、gcd 共 5 个文件、10 处。 - 为 not_equal 文档中三元运算符的冒号后补充空格,涉及 2 个文件、4 处。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2527 ## 测试 - 使用全文检索确认修改范围内无上述格式问题残留。 - 检查 Git diff,确认共修改 31 个文件、43 处,均为格式调整。 - 推送时 Git Hooks 检查通过。 - 本次仅修改示例及文档格式,未执行算子功能测试。 ## 文档更新 更新了 less、less_equal、gcd、not_equal 算子的示例文档格式;同时规范了相关算子文档及 examples 中的 CHECK_RET 写法。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他:代码格式规范 See merge request: cann/ops-math!4464 | 1 个月前 | |
迁移开源TF插件--math Co-authored-by: yaochen<yaochen15@huawei.com> # message auto-generated for no-merge-commit merge: !4308 merge transfer-math into master 迁移开源TF插件--math Created-by: nextyale Commit-by: yaochen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:迁移TF插件 See merge request: cann/ops-math!4308 | 1 个月前 | |
aclnnBitwiseOr/aclnnBitwiseXor在ascend950上支持所有整型数据类型 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !2384 merge bitwise_update into master aclnnBitwiseOr/aclnnBitwiseXor在ascend950上支持所有整型数据类型 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> aclnnBitwiseOr/aclnnBitwiseXor在ascend950上支持所有整型数据类型 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1358 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本地aclnn测试、冒烟测试OK ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> math/bitwise_or/README.md math/bitwise_or/docs/aclnnBitwiseOrScalar&aclnnInplaceBitwiseOrScalar.md math/bitwise_xor/docs/aclnnBitwiseXorScalar&aclnnInplaceBitwiseXorScalar.md math/bitwise_xor/docs/aclnnBitwiseXorTensor&aclnnInplaceBitwiseXorTensor.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2384 | 4 个月前 | |
math类onnx算子插件支持 Co-authored-by: x00842564<xuyanke@huawei.com> Co-authored-by: weiyukun<weiyukun2@h-partners.com> # message auto-generated for no-merge-commit merge: !431 merge master into master math类onnx算子插件支持 Created-by: yanke-xu Commit-by: weiyukun;x00842564 Merged-by: cann-robot Description: ## 描述 onnx算子支持列表: 1. addcmul 2. ArgMax 3. ArgMin 4. Bernoulli 5. BitShift 6. Cast 7. Clip 8. Concat 9. ConcatFromSequence 10. Corr 11. CumSum 12. DeformableOffsets 13. DepthToSpace 14. Einsum 15. EyeLike 16. Flatten 17. IsInf 18. Max 19. Mean 20. Min 21. Mod 22. Multinomial 23. NPUDtypeCast 24. NPUFormatCast 25. NPUOneHot 26. NPURotaryMul 27. NPUSignBitsPack 28. NPUSignBitsUnpack 29. NPUSlice 30. OneHot 31. Pad 32. PhonyConcat 33. PhonySplit 34. RandomNormal 35. RandomNormalLike 36. RandomUniform 37. RandomUniformLike 38. ReduceL1 39. ReduceL2 40. ReduceLogSum 41. ReduceLogSumExp 42. ReduceMax 43. ReduceMean 44. ReduceMin 45. ReduceProd 46. ReduceSum 47. ReduceSumSquare 48. RepeatWithPad 49. Reshape 50. ReverseSequence 51. SequenceAt 52. SequenceConstruct 53. SequenceEmpty 54. SequenceErase 55. SequenceInsert 56. SequenceLength 57. Slice 58. SpaceToDepth 59. Split 60. SplitToSequence 61. Squeeze 62. Sum 63. Transpose 64. Trilu 65. Unsqueeze 66. Xor ## 关联的Issue None ## 测试 1、编译构建 2、静态检查 3、冒烟测试 4、本地功能验证 ## 文档更新 None ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!431 | 8 个月前 | |
删除冗余头文件 Co-authored-by: yue-ma<mayue54@huawei.com> # message auto-generated for no-merge-commit merge: !4033 merge master into master 删除冗余头文件 Created-by: yue-ma Commit-by: yue-ma Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 删除冗余头文件 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2240 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4033 | 1 个月前 | |
refactor: arch35算子Reg级API重命名迁移 Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !4468 merge work_8 into master refactor: arch35算子Reg级API重命名迁移 Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 将 arch35 架构下 40 个算子 kernel 文件中的 Reg 级 API 名称从旧命名迁移到新命名,与已迁移的算子(xlogy、dawsn、rint、cdist、reduce_all、power 等)保持一致。 涉及的 API 重命名映射: - __local_mem__ → __ubuf__(地址空间限定符统一) - Reg::DataCopy (LoadDist) → Reg::LoadAlign(UB 到寄存器的对齐加载) - Reg::DataCopy (StoreDist) → Reg::StoreAlign(寄存器到 UB 的对齐存储) - Reg::DataCopyUnAlignPre → Reg::LoadUnAlignPre - Reg::DataCopyUnAlign → Reg::LoadUnAlign - Reg::MaskPack → Reg::Pack - Reg::MaskUnPack → Reg::UnPack - Reg::MaskAnd → Reg::And(与已有 Reg::And 通过重载统一) - Reg::CompareScalar → Reg::Compares - Reg::UnalignReg → Reg::UnalignRegForLoad 涉及的算子包括:clip_by_value、clip_by_value_v2、adjacent_difference、bitwise_xor、div、floor_div、floor_mod、lerp、logical_or、mod、pow、signbit、tanh_grad。 此外,adjacent_difference 算子中存在原有的 __local_mem__/__ubuf__ 地址空间限定符不一致问题(左侧声明与右侧转换不匹配),本次重命名一并修复。 ### 改动原因 AscendC SDK 更新了 Reg 级 API 命名规范,将原有的 DataCopy 拆分为语义更明确的 LoadAlign/StoreAlign,并移除了 Mask 系列 API 的 "Mask" 前缀(通过重载统一)。本 PR 将相关算子迁移至新命名。 ### 改动方法 纯机械重命名,无逻辑变更。所有改动均为 1:1 的 API 名称替换,增删行数完全对称(+417 -417)。Load/Store 语义区分基于原有模板参数(LoadDist → LoadAlign, StoreDist → StoreAlign)和参数顺序(寄存器在前为 Load,地址在前为 Store)。 ## 关联的Issue - #2529 ## 测试 待补充:二级冒烟测试、算子泛化测试。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:API 重命名重构 See merge request: cann/ops-math!4468 | 1 个月前 | |
feat: 补充bitwise_xor算子op_api和op_host infershape UT Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !4054 merge feat/ut_bitwise_xor into master feat: 补充bitwise_xor算子op_api和op_host infershape UT Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: cann-robot Description: ## 描述 补充bitwise_xor算子的op_api级别单元测试,覆盖以下场景: - 各数据类型测试(int8/uint8/int16/int32/int64/bool) - Tensor与Scalar接口测试(aclnnBitwiseXorTensor / aclnnBitwiseXorScalar) - 广播场景测试 - 异常场景测试:nullptr输入输出、shape不匹配等 ## 关联的Issue #2250 ## 测试 - 编译验证:bash build.sh -u --soc=ascend950 --ops=bitwise_xor --noexec 编译通过 - 测试用例数:12个(含数据类型、广播、Scalar、异常场景) ## 文档更新 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:UT补充 See merge request: cann/ops-math!4054 | 1 个月前 | |
新增bitwise_xor 950实现 Co-authored-by: wrzwrz123<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !958 merge master into master 新增bitwise_xor 950实现 Created-by: hahaha22 Commit-by: wrzwrz123 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增bitwise_xor 950实现 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> #586 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> math/bitwise_xor/docs/aclnnBitwiseXorTensor&aclnnInplaceBitwiseXorTensor.md math/bitwise_xor/docs/aclnnBitwiseXorScalar&aclnnInplaceBitwiseXorScalar.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!958 | 7 个月前 | |
aclnnBitwiseOr/aclnnBitwiseXor在ascend950上支持所有整型数据类型 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !2384 merge bitwise_update into master aclnnBitwiseOr/aclnnBitwiseXor在ascend950上支持所有整型数据类型 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> aclnnBitwiseOr/aclnnBitwiseXor在ascend950上支持所有整型数据类型 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1358 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本地aclnn测试、冒烟测试OK ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> math/bitwise_or/README.md math/bitwise_or/docs/aclnnBitwiseOrScalar&aclnnInplaceBitwiseOrScalar.md math/bitwise_xor/docs/aclnnBitwiseXorScalar&aclnnInplaceBitwiseXorScalar.md math/bitwise_xor/docs/aclnnBitwiseXorTensor&aclnnInplaceBitwiseXorTensor.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2384 | 4 个月前 |
BitwiseXor
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
功能说明
-
算子功能:计算输入张量self中每个元素与输入张量other中对应位置元素的按位异或,输入self和other必须是整数或布尔类型,对于布尔类型,计算逻辑异或。
-
计算公式:
outi=selfi ⨁ otheri\text{out}_i = \text{self}_i \, \bigoplus\, \text{other}_i outi=selfi⨁otheri
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| self | 输入 | 公式中的输入self。 | INT16、UINT16、INT32、INT64、INT8、UINT8、UINT32、UINT64 | ND |
| other | 输入 | 公式中的输入other。 | INT16、UINT16、INT32、INT64、INT8、UINT8、UINT32、UINT64 | ND |
| out | 输出 | 公式中的输出out。 | INT16、UINT16、INT32、INT64、INT8、UINT8、UINT32、UINT64 | ND |
- Atlas 推理系列产品、Atlas 训练系列产品:数据类型不支持INT8、UINT8、UINT32、INT64、UINT64。
- Atlas A2 训练系列产品/Atlas A2 推理系列产品、Atlas A3 训练系列产品/Atlas A3 推理系列产品:不支持INT8、UINT8、UINT32、UINT64。
约束说明
- 无
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_aclnn_bitwise_xor_scalar | 通过aclnnBitwiseXorScalar接口方式调用BitwiseXor算子。 |
| aclnn接口 | test_aclnn_bitwise_xor_tensor | 通过aclnnBitwiseXorTensor接口方式调用BitwiseXor算子。 |
| aclnn接口 | test_aclnn_inplace_bitwise_xor_scalar | 通过aclnnInplaceBitwiseXorScalar接口方式调用BitwiseXor算子。 |
| aclnn接口 | test_aclnn_inplace_bitwise_xor_tensor | 通过aclnnInplaceBitwiseXorTensor接口方式调用BitwiseXor算子。 |