| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
产品名变更 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 | 29 天前 | |
aclnnMinDim、aclnnIsNegInf.md、test_aclnn_atan2.cpp、test_aclnn_inplace_lt_tensor.cpp等文档&exmaple存在问题,需要整改 Co-authored-by: jiangjiawei<jiangjiawei10@huawei.com> # message auto-generated for no-merge-commit merge: !5294 merge fix_example into master aclnnMinDim、aclnnIsNegInf.md、test_aclnn_atan2.cpp、test_aclnn_inplace_lt_tensor.cpp等文档&exmaple存在问题,需要整改 Created-by: jiangjiawei Commit-by: jiangjiawei Merged-by: cann-robot Description: ## 描述 修改aclnn文档&example ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3002 ## 测试 资料问题,不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5294 | 1 个月前 | |
增加A2 A3新算子支持 Co-authored-by: slx2008<shaolixin@huawei.com> # message auto-generated for no-merge-commit merge: !448 merge master into master 增加A2 A3新算子支持 Created-by: songkai111 Commit-by: slx2008 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!448 | 9 个月前 | |
hans_950_encode_decode_impl Co-authored-by: l0061484<lanshangwei1@huawei.com> # message auto-generated for no-merge-commit merge: !5639 merge hans-950-simt-upstream-review into master hans_950_encode_decode_impl Created-by: n_nddddd Commit-by: l0061484 Merged-by: cann-robot Description: ## 描述 本 PR 为 Ascend 950(Ascend950PR/DT)完整引入 HANS 无损压缩算法支持,新增 HansEncode/HansDecode 两个算子的 950 SIMT 实现及配套 host 侧适配,主要内容如下: ### 1. 新增 950 SIMT 内核实现 **HansEncode**([op_kernel/arch35/hans_encode_simt.h](final_version/ops-math-hans-950-simt-upstream-review-v1/ops-math-hans-950-simt-upstream-review/math/hans_encode/op_kernel/arch35/hans_encode_simt.h)):基于 950 SIMT 编程模型全新实现。 **HansDecode**(op_kernel/arch35/hans_decode_simt.h):对应的 950 SIMT 解码实现,基于 PDF 与 mantissa 重组恢复张量。 ### 2. APT 入口与 host 侧适配 - 新增 hans_encode_apt.cpp / hans_decode_apt.cpp 950 专用 apt 入口,910 入口保持不变; ### 3. 测试覆盖 - **Encode 内核 UT**:39 个用例(FP32/BF16、partial tile、statistic/reshuff 组合、129-tile、全符号、特殊值等); - **Decode 内核 UT**:44 个用例; - **Host tiling UT**:40 个用例,覆盖 FP16/BF16/FP32、双属性、序列化容量、workspace 变化、56 核上限、末核分配、最小编码长度、非法 PDF/mantissa、容量不足、910 回归分支等; ## 关联的Issue DST:https://dts-szv.clouddragon.huawei.com/DTSPortal/ticket/DTS2026062921751 ## 测试 | 测试项 | 命令 | 结果 | |--------|------|------| | Encode 内核 UT(2 次复跑,结果稳定) | bash build.sh -u --opkernel --soc=ascend950 --ops=hans_encode | **39通过 / 0 失败** | | Decode 内核 UT | bash build.sh -u --opkernel --soc=ascend950 --ops=hans_decode | **44 通过 / 0 失败** | | Host tiling UT(含 910 回归分支) | bash build.sh -u --ophost --soc=ascend950 --ops=hans_encode,hans_decode --gtest_filter='*HansEncode950*:*HansDecode950*' | **40 通过 / 0 失败** | | NPU 二进制构建 | bash build.sh --opkernel --soc=ascend950 --ops=hans_encode,hans_decode | **Build binary success** | ## 文档更新 - 更新 math/hans_encode/README.md、math/hans_decode/README.md:产品支持情况表新增 Ascend 950PR/950DT 支持; - 新增 math/hans_encode/tests/README.md:950 验证说明(host tiling UT、encode/decode 内核 UT 覆盖范围与运行命令)。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5639 | 1 个月前 | |
hans_950_encode_decode_impl Co-authored-by: l0061484<lanshangwei1@huawei.com> # message auto-generated for no-merge-commit merge: !5639 merge hans-950-simt-upstream-review into master hans_950_encode_decode_impl Created-by: n_nddddd Commit-by: l0061484 Merged-by: cann-robot Description: ## 描述 本 PR 为 Ascend 950(Ascend950PR/DT)完整引入 HANS 无损压缩算法支持,新增 HansEncode/HansDecode 两个算子的 950 SIMT 实现及配套 host 侧适配,主要内容如下: ### 1. 新增 950 SIMT 内核实现 **HansEncode**([op_kernel/arch35/hans_encode_simt.h](final_version/ops-math-hans-950-simt-upstream-review-v1/ops-math-hans-950-simt-upstream-review/math/hans_encode/op_kernel/arch35/hans_encode_simt.h)):基于 950 SIMT 编程模型全新实现。 **HansDecode**(op_kernel/arch35/hans_decode_simt.h):对应的 950 SIMT 解码实现,基于 PDF 与 mantissa 重组恢复张量。 ### 2. APT 入口与 host 侧适配 - 新增 hans_encode_apt.cpp / hans_decode_apt.cpp 950 专用 apt 入口,910 入口保持不变; ### 3. 测试覆盖 - **Encode 内核 UT**:39 个用例(FP32/BF16、partial tile、statistic/reshuff 组合、129-tile、全符号、特殊值等); - **Decode 内核 UT**:44 个用例; - **Host tiling UT**:40 个用例,覆盖 FP16/BF16/FP32、双属性、序列化容量、workspace 变化、56 核上限、末核分配、最小编码长度、非法 PDF/mantissa、容量不足、910 回归分支等; ## 关联的Issue DST:https://dts-szv.clouddragon.huawei.com/DTSPortal/ticket/DTS2026062921751 ## 测试 | 测试项 | 命令 | 结果 | |--------|------|------| | Encode 内核 UT(2 次复跑,结果稳定) | bash build.sh -u --opkernel --soc=ascend950 --ops=hans_encode | **39通过 / 0 失败** | | Decode 内核 UT | bash build.sh -u --opkernel --soc=ascend950 --ops=hans_decode | **44 通过 / 0 失败** | | Host tiling UT(含 910 回归分支) | bash build.sh -u --ophost --soc=ascend950 --ops=hans_encode,hans_decode --gtest_filter='*HansEncode950*:*HansDecode950*' | **40 通过 / 0 失败** | | NPU 二进制构建 | bash build.sh --opkernel --soc=ascend950 --ops=hans_encode,hans_decode | **Build binary success** | ## 文档更新 - 更新 math/hans_encode/README.md、math/hans_decode/README.md:产品支持情况表新增 Ascend 950PR/950DT 支持; - 新增 math/hans_encode/tests/README.md:950 验证说明(host tiling UT、encode/decode 内核 UT 覆盖范围与运行命令)。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5639 | 1 个月前 | |
hans_950_encode_decode_impl Co-authored-by: l0061484<lanshangwei1@huawei.com> # message auto-generated for no-merge-commit merge: !5639 merge hans-950-simt-upstream-review into master hans_950_encode_decode_impl Created-by: n_nddddd Commit-by: l0061484 Merged-by: cann-robot Description: ## 描述 本 PR 为 Ascend 950(Ascend950PR/DT)完整引入 HANS 无损压缩算法支持,新增 HansEncode/HansDecode 两个算子的 950 SIMT 实现及配套 host 侧适配,主要内容如下: ### 1. 新增 950 SIMT 内核实现 **HansEncode**([op_kernel/arch35/hans_encode_simt.h](final_version/ops-math-hans-950-simt-upstream-review-v1/ops-math-hans-950-simt-upstream-review/math/hans_encode/op_kernel/arch35/hans_encode_simt.h)):基于 950 SIMT 编程模型全新实现。 **HansDecode**(op_kernel/arch35/hans_decode_simt.h):对应的 950 SIMT 解码实现,基于 PDF 与 mantissa 重组恢复张量。 ### 2. APT 入口与 host 侧适配 - 新增 hans_encode_apt.cpp / hans_decode_apt.cpp 950 专用 apt 入口,910 入口保持不变; ### 3. 测试覆盖 - **Encode 内核 UT**:39 个用例(FP32/BF16、partial tile、statistic/reshuff 组合、129-tile、全符号、特殊值等); - **Decode 内核 UT**:44 个用例; - **Host tiling UT**:40 个用例,覆盖 FP16/BF16/FP32、双属性、序列化容量、workspace 变化、56 核上限、末核分配、最小编码长度、非法 PDF/mantissa、容量不足、910 回归分支等; ## 关联的Issue DST:https://dts-szv.clouddragon.huawei.com/DTSPortal/ticket/DTS2026062921751 ## 测试 | 测试项 | 命令 | 结果 | |--------|------|------| | Encode 内核 UT(2 次复跑,结果稳定) | bash build.sh -u --opkernel --soc=ascend950 --ops=hans_encode | **39通过 / 0 失败** | | Decode 内核 UT | bash build.sh -u --opkernel --soc=ascend950 --ops=hans_decode | **44 通过 / 0 失败** | | Host tiling UT(含 910 回归分支) | bash build.sh -u --ophost --soc=ascend950 --ops=hans_encode,hans_decode --gtest_filter='*HansEncode950*:*HansDecode950*' | **40 通过 / 0 失败** | | NPU 二进制构建 | bash build.sh --opkernel --soc=ascend950 --ops=hans_encode,hans_decode | **Build binary success** | ## 文档更新 - 更新 math/hans_encode/README.md、math/hans_decode/README.md:产品支持情况表新增 Ascend 950PR/950DT 支持; - 新增 math/hans_encode/tests/README.md:950 验证说明(host tiling UT、encode/decode 内核 UT 覆盖范围与运行命令)。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5639 | 1 个月前 | |
feat: hans_encode/hans_decode独立编译及950编译 Co-authored-by: NingGuangyou<ningguangyou@h-partners.com> # message auto-generated for no-merge-commit merge: !3768 merge master into master feat: hans_encode/hans_decode独立编译及950编译 Created-by: NingGuangyou Commit-by: NingGuangyou Merged-by: cann-robot Description: ## 描述 hans_encode/hans_decode独立编译及950编译 ## 关联的Issue https://gitcode.com/cann/ops-math/pull/3763 See merge request: cann/ops-math!3768 | 3 个月前 | |
产品名变更 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 | 29 天前 |
HansDecode
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | × |
| Atlas推理系列产品 | × |
| Atlas训练系列产品 | × |
功能说明
- 算子功能:对压缩后的张量基于PDF进行解码,同时基于mantissa(尾数)重组恢复张量。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| mantissa | 输入 | 表示输入的待解压张量的尾数部分。 | INT32 | ND |
| 输入 | 表示压缩时采用的指数位所在字节的概率密度分布,shape要求为(1, 256)。其中每一个元素的值表示其对应的索引,在input中出现的次数。 | INT32 | ND | |
| fixed | 输入 | 表示压缩的第一段输出。 | FLOAT16、BFLOAT16、FLOAT32 | ND |
| var | 输入 | 表示压缩时超过fixed空间后的部分。 | FLOAT16、BFLOAT16、FLOAT32 | ND |
| out | 输出 | 表示解压缩后的指数存放位置。 | FLOAT16、BFLOAT16、FLOAT32 | ND |
| reshuff | 可选属性 |
|
Bool | - |
约束说明
- Ascend 950 实现采用 SIMD/SIMT 协同解码。
- Ascend 950 的 mantissa、fixed、var 和 out 数据类型须与编码时的原始张量一致。
- Ascend 950 的 fixed 至少包含 512 字节公共头;输入码流及 reshuff 属性须与编码端保持一致。
- Ascend 950 的测试命令和覆盖限制见验证说明。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_hans_decode | 通过aclnnHansDecode接口方式调用HansDecode算子。 |