| Files | Last commit | Last update |
|---|---|---|
fix(math/conversion): aclnnArange/aclnnConfusionTranspose/aclnnLinspace支持非连续输出 Co-authored-by: yifangao<gaoyifan20@huawei.com> # message auto-generated for no-merge-commit merge: !7162 merge non-contiguous into master fix(math/conversion): aclnnArange/aclnnConfusionTranspose/aclnnLinspace支持非连续输出 Created-by: yifangao Commit-by: yifangao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnnArange:已支持非连续out,修改资料描述为支持 - aclnnConfusionTranspose:已支持非连续x,修改资料描述为支持;修复不支持非连续out的问题,修改资料描述 - aclnnLinspace:已支持非连续out,修改资料描述为支持 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/4562 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 构造对应tensor非连续的aclnn用例,修改后精度均通过。 David冒烟:http://7.215.10.221/scheduler/alljobs?length=100&isalljobs=true&search=20261105_192021209 obp冒烟:http://7.215.10.221/scheduler/alljobs?length=100&isalljobs=true&search=20261106_032325004 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7162 | 4 days ago | |
算子资料修改后同步修改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 | 1 month ago | |
迁移开源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 | 3 months ago | |
fix(arange): out元素个数大于推导长度时告警并按torch语义截断(#3972) Co-authored-by: bjx<bjx@localhost> # message auto-generated for no-merge-commit merge: !6770 merge fix/range-arange-out-size-check into master fix(arange): out元素个数大于推导长度时告警并按torch语义截断(#3972) Created-by: doufloat Commit-by: bjx Merged-by: cann-robot Description: ## 描述 **问题** aclnnArange 在 out 的元素个数与 (start, end, step) 推导长度 L 不一致时,业务侧无法从返回码与输出张量上发现异常: - out 偏大时尾部元素不被写,out=[18] 时第 18 个元素保持显存残留,只有打开 plog 才能看到 range_tiling 的 warning; - out 偏小时只写 out 声明的元素个数,剩余序列值被丢弃。该行为涉及存量调用方,本次保持与修复前一致,不做变更。 **根因** math/range/op_api/aclnn_arange.cpp 的 CheckParams 未对 out 元素个数做任何校验或提示;math/range/op_host/arch35/range_tiling.cpp 的 CalculateOutputSize 在两者不一致时仅打 warning 并按 min(推导, out) 继续执行。 **方案** 在 CheckParams 中新增 CheckOutSize,推导长度 L 与 torch aten/src/ATen/native/RangeUtils.h compute_arange_size 对齐:INT64 输出按整数语义 ceil((end-start)/step),其余输出按 double 语义 ceil((double(end)-double(start))/double(step))。 | out 元素个数 | 处理 | 说明 | |---|---|---| | > L | 仅前 L 个元素属于结果,尾部不写,打印 OP_LOGW | 与 torch 将 out 裁剪到 L 后的有效内容一致;补齐 aclnn 层缺失的告警 | | < L | 维持原有行为,由 tiling 按 out 元素个数截断写入 | 不改动存量调用方行为 | | == L | 正常执行 | — | 相对修复前:out 偏大场景新增 OP_LOGW,L 的判定口径统一到 torch;out 偏小场景行为不变。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3972 ## 测试 - 环境:A2 Ascend910B3(CANN 9.2.0,aarch64)、A5 Ascend950PR(CANN 9.2.0,x86_64)。 - 单测:math_op_api_ut --gtest_filter='*Arange*',双平台各 3/3 通过,新增 3 个用例分别覆盖 out 偏大(告警后截断写入)、out 偏小(截断成功)、int64 输出。 - 设备矩阵:49 例,覆盖 f32/f16/bf16/f64/int32/int64、正负 step、空序列、float/double 标量、int64 大值(2^60)、out 为 L-1/L/L+1 等,与 torch 2.7.1 同参数 golden 逐例比对,A2 与 A5 均 49/49 通过。 - out 偏小场景实测写满 out 个元素、尾部哨兵区无越界,与 master 基线一致(典型:start=-0.5, end=16, step=1、out=16,written=16/16,末值 14.5)。 - f64 + out < L 在 master 基线与本 PR 上均为 AICPU 507018、written=0,属既有行为,本次不做变更。 - 构建:bash build.sh --pkg --soc=ascend910b|ascend950 --vendor_name=pr6770 --ops=range -j16 双平台通过,run 包安装后实测。 - pre-commit:trailing-whitespace、end-of-file、clang-format、codespell、OAT 合规检查全部通过。 ## 文档更新 不涉及。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他(请说明) See merge request: cann/ops-math!6770 | 4 days ago | |
修复range等算子IsRegbaseSocVersion问题 Co-authored-by: taochangmin<taochangmin@huawei.com> # message auto-generated for no-merge-commit merge: !6614 merge fix_960_regbase into master 修复range等算子IsRegbaseSocVersion问题 Created-by: taochangmin Commit-by: taochangmin Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复range和lin_space算子IsRegbaseSocVersion未包含960平台的问题,补充判断NpuArch,960平台也走arch35分支 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3864 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> st测试,冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6614 | 17 days ago | |
feat: clip_by_value_v2/slice/strided_slice/strided_slice_v3/arg_max_v2/arg_max_with_value/arg_min/range 适配5162 Co-authored-by: sunhao126<sunhao126@huawei.com> # message auto-generated for no-merge-commit merge: !6552 merge master into master feat: clip_by_value_v2/slice/strided_slice/strided_slice_v3/arg_max_v2/arg_max_with_value/arg_min/range 适配5162 Created-by: qq_49328621 Commit-by: sunhao126 Merged-by: cann-robot Description: ## 描述 Ascend5162A(dav-516r2)适配——简单适配部分(深度适配项 pad_v3/concat/concat_d/split/split_v/cos/sin/range 在 #7115 方案评审后合入)。 - **clip_by_value_v2**:def 复用共享 aicore_config 一行注册(face 与 upstream 一致,含 INT64);CMakeLists add_kernel_sources 独立无 OPTIONS 登记(非 apt 式 kernel,登记为唯一编译入口) - **slice/strided_slice/strided_slice_v3**:CMakeLists 标准注册(arch35 tiling 复用) - **arg_max_v2/arg_max_with_value/arg_min**:def 复用共享 aicore_config 一行注册(恢复 upstream 20 组合 face,不隔离 b64);kernel INT64 分支 #if 隔离删除(upstream dispatch 原样);TilingPrepare 改 Ops::Base::GetVRegSize(context) 直取;FP16 uint32 变体撤除 检视意见(wuxuening 30 条)逐条响应见评论区。 ## 关联的Issue 深度适配项见 #7115 ## 测试 - 5162a/950 双 SOC 编译通过(arg 系/clip exit=0,clip 5 个 kernel 产物) - clip 无 OPTIONS 登记、arg 接口化后功能验证通过 - pre-commit 全过;真机 ST 未执行 ## 文档更新 无(改动范围仅 op_host/op_kernel,不涉及 README/docs/json) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!6552 | 3 days ago | |
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 | 1 month ago | |
fix(arange): out元素个数大于推导长度时告警并按torch语义截断(#3972) Co-authored-by: bjx<bjx@localhost> # message auto-generated for no-merge-commit merge: !6770 merge fix/range-arange-out-size-check into master fix(arange): out元素个数大于推导长度时告警并按torch语义截断(#3972) Created-by: doufloat Commit-by: bjx Merged-by: cann-robot Description: ## 描述 **问题** aclnnArange 在 out 的元素个数与 (start, end, step) 推导长度 L 不一致时,业务侧无法从返回码与输出张量上发现异常: - out 偏大时尾部元素不被写,out=[18] 时第 18 个元素保持显存残留,只有打开 plog 才能看到 range_tiling 的 warning; - out 偏小时只写 out 声明的元素个数,剩余序列值被丢弃。该行为涉及存量调用方,本次保持与修复前一致,不做变更。 **根因** math/range/op_api/aclnn_arange.cpp 的 CheckParams 未对 out 元素个数做任何校验或提示;math/range/op_host/arch35/range_tiling.cpp 的 CalculateOutputSize 在两者不一致时仅打 warning 并按 min(推导, out) 继续执行。 **方案** 在 CheckParams 中新增 CheckOutSize,推导长度 L 与 torch aten/src/ATen/native/RangeUtils.h compute_arange_size 对齐:INT64 输出按整数语义 ceil((end-start)/step),其余输出按 double 语义 ceil((double(end)-double(start))/double(step))。 | out 元素个数 | 处理 | 说明 | |---|---|---| | > L | 仅前 L 个元素属于结果,尾部不写,打印 OP_LOGW | 与 torch 将 out 裁剪到 L 后的有效内容一致;补齐 aclnn 层缺失的告警 | | < L | 维持原有行为,由 tiling 按 out 元素个数截断写入 | 不改动存量调用方行为 | | == L | 正常执行 | — | 相对修复前:out 偏大场景新增 OP_LOGW,L 的判定口径统一到 torch;out 偏小场景行为不变。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3972 ## 测试 - 环境:A2 Ascend910B3(CANN 9.2.0,aarch64)、A5 Ascend950PR(CANN 9.2.0,x86_64)。 - 单测:math_op_api_ut --gtest_filter='*Arange*',双平台各 3/3 通过,新增 3 个用例分别覆盖 out 偏大(告警后截断写入)、out 偏小(截断成功)、int64 输出。 - 设备矩阵:49 例,覆盖 f32/f16/bf16/f64/int32/int64、正负 step、空序列、float/double 标量、int64 大值(2^60)、out 为 L-1/L/L+1 等,与 torch 2.7.1 同参数 golden 逐例比对,A2 与 A5 均 49/49 通过。 - out 偏小场景实测写满 out 个元素、尾部哨兵区无越界,与 master 基线一致(典型:start=-0.5, end=16, step=1、out=16,written=16/16,末值 14.5)。 - f64 + out < L 在 master 基线与本 PR 上均为 AICPU 507018、written=0,属既有行为,本次不做变更。 - 构建:bash build.sh --pkg --soc=ascend910b|ascend950 --vendor_name=pr6770 --ops=range -j16 双平台通过,run 包安装后实测。 - pre-commit:trailing-whitespace、end-of-file、clang-format、codespell、OAT 合规检查全部通过。 ## 文档更新 不涉及。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他(请说明) See merge request: cann/ops-math!6770 | 4 days ago | |
feat: clip_by_value_v2/slice/strided_slice/strided_slice_v3/arg_max_v2/arg_max_with_value/arg_min/range 适配5162 Co-authored-by: sunhao126<sunhao126@huawei.com> # message auto-generated for no-merge-commit merge: !6552 merge master into master feat: clip_by_value_v2/slice/strided_slice/strided_slice_v3/arg_max_v2/arg_max_with_value/arg_min/range 适配5162 Created-by: qq_49328621 Commit-by: sunhao126 Merged-by: cann-robot Description: ## 描述 Ascend5162A(dav-516r2)适配——简单适配部分(深度适配项 pad_v3/concat/concat_d/split/split_v/cos/sin/range 在 #7115 方案评审后合入)。 - **clip_by_value_v2**:def 复用共享 aicore_config 一行注册(face 与 upstream 一致,含 INT64);CMakeLists add_kernel_sources 独立无 OPTIONS 登记(非 apt 式 kernel,登记为唯一编译入口) - **slice/strided_slice/strided_slice_v3**:CMakeLists 标准注册(arch35 tiling 复用) - **arg_max_v2/arg_max_with_value/arg_min**:def 复用共享 aicore_config 一行注册(恢复 upstream 20 组合 face,不隔离 b64);kernel INT64 分支 #if 隔离删除(upstream dispatch 原样);TilingPrepare 改 Ops::Base::GetVRegSize(context) 直取;FP16 uint32 变体撤除 检视意见(wuxuening 30 条)逐条响应见评论区。 ## 关联的Issue 深度适配项见 #7115 ## 测试 - 5162a/950 双 SOC 编译通过(arg 系/clip exit=0,clip 5 个 kernel 产物) - clip 无 OPTIONS 登记、arg 接口化后功能验证通过 - pre-commit 全过;真机 ST 未执行 ## 文档更新 无(改动范围仅 op_host/op_kernel,不涉及 README/docs/json) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!6552 | 3 days ago | |
产品名变更 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 | 1 month ago | |
docs: add English translations for markdown files Co-authored-by: jenny_xiang<jenny.xiang@huawei.com> # message auto-generated for no-merge-commit merge: !7113 merge docs/add-english-translations into master docs: add English translations for markdown files Created-by: jenny_xiang Commit-by: jenny_xiang Merged-by: cann-robot Description: ## 描述 新增仓库Markdown文档英文译稿(第二批,共409个文件):第一批(已合入)之外的其余全部译稿,覆盖conversion、examples、ge、math、random各类算子README译稿,以及CHANGELOG_en.md、.gitcode PR模板英文版等。 本批内全部仓内链接均指向master已有文件(含第一批已合入的21+2篇译稿),合入后本仓432篇英文文档全部就位,链接完整生效。 本批同时包含4篇基于最新源文档的增量更新(math/ada_cast、math/prod_force_se_a、math/sinkhorn、math/xlogy,对应上游近期文档变更)。 ## 关联的Issue 无 ## 测试 文档类变更,无需算子测试;已通过链接有效性校验(本批全部相对链接仅指向master已有文件,无指向本PR外未提交文件的链接),并完成逐篇翻译规范自查与语义校对(含支持状态表、限定词、术语、数值符号核对)。 ## 文档更新 新增409个英文译稿文件(*_en.md / .en-US.md),不修改任何现有文件。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7113 | 5 days ago |
Range
English | 简体中文
Product Support Status
| Product | Supported |
|---|---|
| Ascend 950PR&950DT products | √ |
| Atlas A3 products | √ |
| Atlas A2 products | √ |
| Atlas 200I/500 A2 inference products | √ |
| Atlas inference products | √ |
| Atlas training products | √ |
Function Description
- Operator function: obtains values starting from start to end at the interval of step and saves them to the output 1-dimension tensor, where the data range is [start,end).
- Computation formula:
outi+1=outi+stepout_{i+1} = out_i+step outi+1=outi+step
Parameter Description
| Parameter Name | Input/Output/Attribute | Description | Data Type | Data Format |
|---|---|---|---|---|
| start | Input | Start position of the range for obtaining values. | BFLOAT16, FLOAT16, FLOAT, INT32, INT64 | ND |
| limit | Input | End position of the range for obtaining values. | INT32, INT64 | ND |
| delta | Input | Step length for obtaining values. | FLOAT16, FLOAT, INT8, UINT8, INT32, INT64 | ND |
| is_closed | Input Attribute | Specifies whether limit is included to form a closed interval. | BOOL | ND |
| y | Output | Output of the increasing sequence. | FLOAT16, FLOAT, INT8, UINT8, INT32, INT64 | ND |
Constraint Description
None
Invocation Description
| Invocation Method | Sample Code | Description |
|---|---|---|
| aclnn API | test_aclnn_range | Invokes the Range operator through the aclnnRange API. |
| aclnn API | test_aclnn_arange | Invokes the Range operator through the aclnnArange API. |