| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 9 天前 | |
算子资料修改后同步修改example Co-authored-by: FelixTang7<tangyanfeng@huawei.com> # message auto-generated for no-merge-commit merge: !5542 merge md into master 算子资料修改后同步修改example Created-by: FelixTang7 Commit-by: FelixTang7 Merged-by: cann-robot Description: ## 描述 部分算子资料有误,修改算子文档后同步对example进行修改 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3040 ## 测试 文档修改,无需测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5542 | 19 天前 | |
迁移开源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 个月前 | |
fix: 责任田算子日志质量整改 Co-authored-by: yifangao<gaoyifan20@huawei.com> # message auto-generated for no-merge-commit merge: !5210 merge fix-log-evaluation-20260829 into master fix: 责任田算子日志质量整改 Created-by: yifangao Commit-by: yifangao Merged-by: cann-robot Description: ## 描述 根据日志质量测评结果,对责任田内 HistogramV2、LinSpace、OneHot 和 Range 算子的日志文案进行整改: - HistogramV2:修正 bins 非法值日志语法。 - LinSpace:修正 tilingKey 失败描述,补充 steps 实际值,修正 dtype 及 AICPU 参数校验日志。 - OneHot:修正 numClasses、axis 取值范围的英文表达,完善 coreNum 和 UB size 非法值日志。 - Range:展开 OFF/OFT 缩写,修正 AICore dtype、CalculateOutputSize、CalcRangeTilingParam 和输出维度相关日志。 本次仅调整日志文案及格式,不改变算子计算逻辑。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2985 ## 测试 - 针对变更文件运行 pre-commit,trailing-whitespace、end-of-file-fixer、clang-format、codespell 和 OAT 检查均通过。 - git diff --check 检查通过。 - 本次不涉及算子功能逻辑变更,未额外执行算子精度测试。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:日志质量整改 See merge request: cann/ops-math!5210 | 29 天前 | |
bincount等5个算子新增ascend350平台支持 Co-authored-by: Developer user<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !5585 merge ascend350_adapt_w2 into master bincount等5个算子新增ascend350平台支持 Created-by: zhuzixian-lr Commit-by: Developer user Merged-by: cann-robot Description: ## 描述 5个算子新增ascend350平台支持:bincount、range、adjacent_difference、dynamic_stitch、atan2。 修改模式(350与ascend950完全同配,两者同为 DAV_3510,走同一代码分支): - op_host/<op>_def.cpp:追加 AddConfig("ascend350"),复用 ascend950 同一 config 对象 - CMakeLists:SUPPORT_COMPUTE_UNIT/SUPPORT_TILING_DIR 增加 ascend350/arch35 - op_host/config/ascend350/:拷贝 ascend950 的 <op>_binary.json(dynamic_stitch 上游命名为 dynamic_stitch.json,维持原名) - scripts/kernel/binary_config/ascendc_config.json:仅对 json 中已有条目的算子修改(bincount/range/adjacent_difference 三条目 compute_units 加 ascend350,compile_options 与 ascend950 逐项相同);原无条目的算子(dynamic_stitch/atan2)不新增登记,避免影响默认编译选项行为 ## 测试 A5(Ascend950PR)环境实测: - bash build.sh --pkg --soc=ascend350 --ops=<op> --vendor_name=customize -j4 编译验证:5/5 算子通过(产物 .o、run 包产出、json 选项注入均验证;dynamic_stitch 用 --soc=ascend950 对照编译确认两侧产物同构) - pre-commit 全部检查通过(按文件运行,含 clang-format/codespell/OAT 合规) ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3138 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 ## SocVersion 判断合规化 - 规则:不允许 SocVersion 区间判断隐式覆盖芯片,950/350 需显式 IsRegBase() 判断,不再依赖枚举顺序副作用 - 本 MR 涉及 1 处(math/atan2/op_api/aclnn_atan2.cpp GetDtypeSupportList,master 未覆盖,由本 MR 修改);bincount/range/adjacent_difference/dynamic_stitch 复查无区间判断违规(range 的等值判断链均已带 IsRegBase()) - 改法:保留原 [ASCEND910B, ASCEND910E] 区间(覆盖 910B/910C/910E),或逻辑增加 IsRegBase()(显式覆盖 regbase 芯片) - 行为零变化:950 原区间命中(true)→现 IsRegBase()(true);350 原被区间覆盖(true)→现 IsRegBase()(true);910B/C/E 走原区间不变 - 分支已 rebase 至最新 upstream master ## op_graph 层适配 - 全量排查两波算子目录 op_graph 层(融合 pass/graph_infer/plugin) - 🔴 修复 1 处:range/op_graph/range_graph_infer.cpp:37 DOUBLE 输入降级 FLOAT 判断 == "Ascend950" 增加 || == "Ascend350"(原 350 上 DOUBLE 输入输出 DOUBLE,kernel 不支持,与 950 行为分叉) See merge request: cann/ops-math!5585 | 10 天前 | |
bincount等5个算子新增ascend350平台支持 Co-authored-by: Developer user<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !5585 merge ascend350_adapt_w2 into master bincount等5个算子新增ascend350平台支持 Created-by: zhuzixian-lr Commit-by: Developer user Merged-by: cann-robot Description: ## 描述 5个算子新增ascend350平台支持:bincount、range、adjacent_difference、dynamic_stitch、atan2。 修改模式(350与ascend950完全同配,两者同为 DAV_3510,走同一代码分支): - op_host/<op>_def.cpp:追加 AddConfig("ascend350"),复用 ascend950 同一 config 对象 - CMakeLists:SUPPORT_COMPUTE_UNIT/SUPPORT_TILING_DIR 增加 ascend350/arch35 - op_host/config/ascend350/:拷贝 ascend950 的 <op>_binary.json(dynamic_stitch 上游命名为 dynamic_stitch.json,维持原名) - scripts/kernel/binary_config/ascendc_config.json:仅对 json 中已有条目的算子修改(bincount/range/adjacent_difference 三条目 compute_units 加 ascend350,compile_options 与 ascend950 逐项相同);原无条目的算子(dynamic_stitch/atan2)不新增登记,避免影响默认编译选项行为 ## 测试 A5(Ascend950PR)环境实测: - bash build.sh --pkg --soc=ascend350 --ops=<op> --vendor_name=customize -j4 编译验证:5/5 算子通过(产物 .o、run 包产出、json 选项注入均验证;dynamic_stitch 用 --soc=ascend950 对照编译确认两侧产物同构) - pre-commit 全部检查通过(按文件运行,含 clang-format/codespell/OAT 合规) ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3138 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 ## SocVersion 判断合规化 - 规则:不允许 SocVersion 区间判断隐式覆盖芯片,950/350 需显式 IsRegBase() 判断,不再依赖枚举顺序副作用 - 本 MR 涉及 1 处(math/atan2/op_api/aclnn_atan2.cpp GetDtypeSupportList,master 未覆盖,由本 MR 修改);bincount/range/adjacent_difference/dynamic_stitch 复查无区间判断违规(range 的等值判断链均已带 IsRegBase()) - 改法:保留原 [ASCEND910B, ASCEND910E] 区间(覆盖 910B/910C/910E),或逻辑增加 IsRegBase()(显式覆盖 regbase 芯片) - 行为零变化:950 原区间命中(true)→现 IsRegBase()(true);350 原被区间覆盖(true)→现 IsRegBase()(true);910B/C/E 走原区间不变 - 分支已 rebase 至最新 upstream master ## op_graph 层适配 - 全量排查两波算子目录 op_graph 层(融合 pass/graph_infer/plugin) - 🔴 修复 1 处:range/op_graph/range_graph_infer.cpp:37 DOUBLE 输入降级 FLOAT 判断 == "Ascend950" 增加 || == "Ascend350"(原 350 上 DOUBLE 输入输出 DOUBLE,kernel 不支持,与 950 行为分叉) See merge request: cann/ops-math!5585 | 10 天前 | |
fix: 移除 lin_space/one_hot/range 不必要的workspace分配 Co-authored-by: yifangao<gaoyifan20@huawei.com> # message auto-generated for no-merge-commit merge: !5339 merge workspace-remove-2 into master fix: 移除 lin_space/one_hot/range 不必要的workspace分配 Created-by: yifangao Commit-by: yifangao Merged-by: cann-robot Description: ## 描述 移除 lin_space、one_hot、range 三个算子不必要的 workspace 分配: 1. **host 侧不再预留 workspace**:tiling 中 workspace 大小由固定 16MB(SYSTEM_WORKSPACE_SIZE/RESERVED_WORKSPACE)改为 DEFAULT_WORKSPACE_SIZE(0),三个算子统一使用同名常量。 2. **kernel 侧移除 workspace 解析**:删除 SetSysWorkspace/GetUserWorkspace 调用及空指针校验,workspace 直接传入 op.Init。 3. **UT 消除 magic number**:将 one_hot 的 DEFAULT_WORKSPACE_SIZE 上移至头文件 one_hot_tiling_arch35.h,UT 中 expectWorkspaces 使用 optiling::DEFAULT_WORKSPACE_SIZE 替代字面量,后续调整 workspace 大小无需逐个修改用例。 其余为代码格式化调整(单行化、对齐、补文件末尾换行),无功能影响。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3216 ## 测试 obp冒烟:http://7.215.10.221/scheduler/alljobs?length=100&isalljobs=true&search=20260917_135556551 David冒烟:http://7.215.10.221/scheduler/alljobs?length=100&isalljobs=true&search=20260917_094314808 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5339 | 12 天前 | |
add aclnn golden Co-authored-by: gcw_CRjbEjwl<fengdaoyong@h-partners.com> # message auto-generated for no-merge-commit merge: !4593 merge 20260812 into master add aclnn golden Created-by: gcw_CRjbEjwl Commit-by: gcw_CRjbEjwl Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 算子增加aclnn的golden注册函数,由冒烟流水调用,跑新版ttk用例。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 不涉及 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地完成验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: See merge request: cann/ops-math!4593 | 1 个月前 | |
bincount等5个算子新增ascend350平台支持 Co-authored-by: Developer user<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !5585 merge ascend350_adapt_w2 into master bincount等5个算子新增ascend350平台支持 Created-by: zhuzixian-lr Commit-by: Developer user Merged-by: cann-robot Description: ## 描述 5个算子新增ascend350平台支持:bincount、range、adjacent_difference、dynamic_stitch、atan2。 修改模式(350与ascend950完全同配,两者同为 DAV_3510,走同一代码分支): - op_host/<op>_def.cpp:追加 AddConfig("ascend350"),复用 ascend950 同一 config 对象 - CMakeLists:SUPPORT_COMPUTE_UNIT/SUPPORT_TILING_DIR 增加 ascend350/arch35 - op_host/config/ascend350/:拷贝 ascend950 的 <op>_binary.json(dynamic_stitch 上游命名为 dynamic_stitch.json,维持原名) - scripts/kernel/binary_config/ascendc_config.json:仅对 json 中已有条目的算子修改(bincount/range/adjacent_difference 三条目 compute_units 加 ascend350,compile_options 与 ascend950 逐项相同);原无条目的算子(dynamic_stitch/atan2)不新增登记,避免影响默认编译选项行为 ## 测试 A5(Ascend950PR)环境实测: - bash build.sh --pkg --soc=ascend350 --ops=<op> --vendor_name=customize -j4 编译验证:5/5 算子通过(产物 .o、run 包产出、json 选项注入均验证;dynamic_stitch 用 --soc=ascend950 对照编译确认两侧产物同构) - pre-commit 全部检查通过(按文件运行,含 clang-format/codespell/OAT 合规) ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3138 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 ## SocVersion 判断合规化 - 规则:不允许 SocVersion 区间判断隐式覆盖芯片,950/350 需显式 IsRegBase() 判断,不再依赖枚举顺序副作用 - 本 MR 涉及 1 处(math/atan2/op_api/aclnn_atan2.cpp GetDtypeSupportList,master 未覆盖,由本 MR 修改);bincount/range/adjacent_difference/dynamic_stitch 复查无区间判断违规(range 的等值判断链均已带 IsRegBase()) - 改法:保留原 [ASCEND910B, ASCEND910E] 区间(覆盖 910B/910C/910E),或逻辑增加 IsRegBase()(显式覆盖 regbase 芯片) - 行为零变化:950 原区间命中(true)→现 IsRegBase()(true);350 原被区间覆盖(true)→现 IsRegBase()(true);910B/C/E 走原区间不变 - 分支已 rebase 至最新 upstream master ## op_graph 层适配 - 全量排查两波算子目录 op_graph 层(融合 pass/graph_infer/plugin) - 🔴 修复 1 处:range/op_graph/range_graph_infer.cpp:37 DOUBLE 输入降级 FLOAT 判断 == "Ascend950" 增加 || == "Ascend350"(原 350 上 DOUBLE 输入输出 DOUBLE,kernel 不支持,与 950 行为分叉) See merge request: cann/ops-math!5585 | 10 天前 | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 9 天前 |
Range
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | √ |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | √ |
功能说明
- 算子功能:从start起始到end结束按照step的间隔获取值,并保存到输出的1维张量,其中数据范围为[start,end)。
- 计算公式:
outi+1=outi+stepout_{i+1} = out_i+step outi+1=outi+step
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| start | 输入 | 获取值的范围的起始位置。 | BFLOAT16、FLOAT16、FLOAT、INT32、INT64 | ND |
| limit | 输入 | 获取值的范围的结束位置。 | INT32、INT64 | ND |
| delta | 输入 | 获取值的步长。 | FLOAT16、FLOAT、INT8、UINT8、INT32、INT64 | ND |
| is_closed | 输入属性 | 是否包含limit成闭区间。 | BOOL | ND |
| y | 输出 | 递增序列输出。 | FLOAT16、FLOAT、INT8、UINT8、INT32、INT64 | ND |
约束说明
无
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_aclnn_range | 通过aclnnRange接口方式调用Range算子。 |
| aclnn接口 | test_aclnn_arange | 通过aclnnArange接口方式调用Range算子。 |