| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
docs目录基本概念md文件名改为英文 Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !4182 merge master into master docs目录基本概念md文件名改为英文 Created-by: gitcode-chenjiao Commit-by: chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2283](https://gitcode.com/cann/ops-math/issues/2283) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4182 | 1 个月前 | |
修复aclnnSignbit接口处理-0时的精度问题 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !2119 merge aclnnSignbit_0408 into master 修复aclnnSignbit接口处理-0时的精度问题 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> aclnnSignbit接口功能为取符号位,返回bool值,-0的符号位是1,但是输出结果是False ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1219 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> aclnn泛化,二级冒烟验证OK ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2119 | 4 个月前 | |
修复aclnnSignbit接口处理-0时的精度问题 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !2119 merge aclnnSignbit_0408 into master 修复aclnnSignbit接口处理-0时的精度问题 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> aclnnSignbit接口功能为取符号位,返回bool值,-0的符号位是1,但是输出结果是False ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1219 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> aclnn泛化,二级冒烟验证OK ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2119 | 4 个月前 | |
ascend950新增signbit算子kernel侧实现 Co-authored-by: hw-zhangpanpan<zhangpanpan5@huawei.com> # message auto-generated for no-merge-commit merge: !1725 merge master into master ascend950新增signbit算子kernel侧实现 Created-by: hw-zhangpanpan Commit-by: hw-zhangpanpan Merged-by: cann-robot Description: ## 描述 ascend950新增signbit算子kernel侧实现 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1149 ## 测试 ttk泛化用例验证,二级冒烟,obp ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!1725 | 5 个月前 | |
refactor: 消除 math 算子重复头文件依赖(下),统一引用 base 仓 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !2980 merge math_tiling into master refactor: 消除 math 算子重复头文件依赖(下),统一引用 base 仓 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 消除 math 目录下后半段(ger ~ zero_op)共 89 个算子的重复头文件依赖,将 tiling 基类和模板注册引用统一到 base 仓。本 PR 与 #2969 共同覆盖全部 math 算子。 ### 改动原因 与 #2969 一致,剩余 math 算子(ger 起)各自直接引用旧头文件并存在全局命名空间引入: - tiling_base.h 中 TilingBaseClass 已在 base 仓提取为 tiling_base_class.h - tiling_templates_registry.h 中 math 注册宏已拆分到 math_tiling_templates_registry.h - using namespace Ops::Math::OpTiling 引入全局命名空间,存在符号冲突风险 ### 改动方法 批量更新 math 算子文件的 #include 及命名空间引用: - tiling_base.h -> tiling_base_class.h - tiling_templates_registry.h -> math_tiling_templates_registry.h - 移除 using namespace Ops::Math::OpTiling - TilingBaseClass -> Ops::Base::TilingBaseClass - TilingRegistry::GetInstance() -> Ops::Math::OpTiling::TilingRegistry::GetInstance() ## 关联的Issue - #1685 ## 测试 - 涉及的 math 算子二级冒烟测试已通过 ## 文档更新 无文档变更 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构,消除重复头文件依赖 See merge request: cann/ops-math!2980 | 3 个月前 | |
signbit: 重构double类型实现,使用RegTraitNumTwo和reg[1]提取符号位 Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !4522 merge signbit into master signbit: 重构double类型实现,使用RegTraitNumTwo和reg[1]提取符号位 Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 重构 signbit 算子 double 类型的符号位提取实现。原实现将 double 视为 uint64_t,通过右移 63 位提取符号位,需要额外的 uint64_t 中间寄存器和 Pack 转换步骤。新实现使用 RegTraitNumTwo 双寄存器加载 double,通过 reg[1] 直接访问高 32 位,右移 31 位提取符号位,与 float 版本(STATE_BIT_SHF_VALUE=31)保持一致,同时移除了 vregOutput、tmpMask、vlSize、countTmp 等冗余变量和 Pack 转换步骤,简化了代码逻辑。 ### 改动原因 - 原实现中 double 使用 RegTraitNumOne 单寄存器,需要 uint64_t 中间寄存器和 Pack 转换,代码较为复杂 - 重构后使用 RegTraitNumTwo 双寄存器,通过 reg[1] 直接访问高 32 位提取符号位,无需 Pack 转换 - 与 sign.h(SignCustomInt64)和 clip_by_value_dag.h 等 arch35 算子的 64 位类型处理方式保持一致 ### 改动方法 - 将 vregInput1 从 RegTraitNumOne 改为 RegTraitNumTwo - vl 计算从 GetVRegSize() 改为 VECTOR_REG_WIDTH_2XVL - 通过 vregInput1.reg[1] 访问 double 高 32 位,右移 31 位提取符号位 - 移除 vregOutput、tmpMask、vlSize、countTmp 等冗余变量和 Pack 转换步骤 - 删除 DOUBLE_STATE_BIT_SHF_VALUE 常量,复用 STATE_BIT_SHF_VALUE ## 关联的Issue - #2563 ## 测试 - 二级冒烟测试 - 算子泛化测试(覆盖 double 类型各种输入 shape) ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构 See merge request: cann/ops-math!4522 | 1 个月前 | |
补充算子st用例 Co-authored-by: gcw_CRjbEjwl<fengdaoyong@h-partners.com> # message auto-generated for no-merge-commit merge: !3513 merge 0624 into master 补充算子st用例 Created-by: gcw_CRjbEjwl Commit-by: gcw_CRjbEjwl Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1、新增算子st用例 2、修复bincout的标杆函数 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 不涉及 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本地使用ttk测试,用例通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: See merge request: cann/ops-math!3513 | 2 个月前 | |
ascend950新增signbit算子kernel侧实现 Co-authored-by: hw-zhangpanpan<zhangpanpan5@huawei.com> # message auto-generated for no-merge-commit merge: !1725 merge master into master ascend950新增signbit算子kernel侧实现 Created-by: hw-zhangpanpan Commit-by: hw-zhangpanpan Merged-by: cann-robot Description: ## 描述 ascend950新增signbit算子kernel侧实现 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1149 ## 测试 ttk泛化用例验证,二级冒烟,obp ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!1725 | 5 个月前 | |
README文档规范性问题修改 Co-authored-by: weike<weike13@huawei.com> # message auto-generated for no-merge-commit merge: !3708 merge master into master README文档规范性问题修改 Created-by: m0_55003149 Commit-by: weike Merged-by: cann-robot Description: ## 描述 README文档规范性问题修改 ## 关联的Issue #2107 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新了: math/truncate_div/README.md math/signbit/README.md math/power/README.md math/pow/README.md math/mul_no_nan/README.md math/inv_grad/README.md math/data_compare/README.md math/asinh_grad/README.md math/asinh/README.md math/amp_update_scale/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3708 | 2 个月前 |
Signbit
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | √ |
功能说明
-
算子功能:判断输入张量中每个元素的符号位是否为1,即元素是否为负数或-0.0。
-
计算公式:
yi=(xi<0) ? True:False(当xi为−0.0时,返回True)y_i = (x_i < 0) \: ? \: True : False \quad (当x_i为-0.0时,返回True) yi=(xi<0)?True:False(当xi为−0.0时,返回True)
-
示例:
- 若x=[0, -3, 5],signbit(x)的结果是[False, True, False]。
- 若x=[[-0.0, 3.14], [-2.718, inf]],signbit(x)的结果是[[True, False], [True, False]]。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 待进行符号位判断的入参,公式中的x_i。 | FLOAT、FLOAT16、BFLOAT16、DOUBLE、INT8、UINT8、INT32、INT64、UINT64、BOOL | ND |
| y | 输出 | 符号位判断的出参,公式中的y_i。 | BOOL | ND |
- Atlas 训练系列产品: 不支持BFLOAT16。
约束说明
无
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_signbit | 通过aclnnSignbit接口方式调用Signbit算子。 |