| Files | Last commit | Last update |
|---|---|---|
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 4 months ago | |
docs(quant): 修正aclnnDynamicQuantV3/V4头文件yOut的INT32 shape说明 Co-authored-by: tianye<tianye82@h-partners.com> # message auto-generated for no-merge-commit merge: !12103 merge br_dquant_fix_1016 into master docs(quant): 修正aclnnDynamicQuantV3/V4头文件yOut的INT32 shape说明 Created-by: transformer910 Commit-by: tianye Merged-by: cann-robot Description: ## 描述 修正 aclnnDynamicQuantV3/aclnnDynamicQuantV4 公共头文件中 yOut 的 shape 说明,对应文档反馈 Issue「aclnnDynamicQuantV3/V4 头文件中的 yOut shape 说明不完整」。 - 改动原因:原注释称 yOut 与 x shape 一致,但 dstType=DT_INT32 时 INT32 实际为 8 个 INT4 拼接,API 要求 yOut 与 x 维数相同、前置维度相同、最后一维为 x 最后一维的 1/8(如 x=[16,32] 时 yOut=[16,4])。调用方按原注释创建同形输出,会在 API shape 校验阶段失败。 - 改动方法:仅更新两个头文件的 @param yOut 注释,区分说明 INT32 的末维例外(最后一维为 x 最后一维的 1/8,其余维度一致),其他输出类型仍与 x shape 一致;与 docs/aclnnDynamicQuantV3.md、docs/aclnnDynamicQuantV4.md 中已记载的规则保持一致。不涉及代码逻辑变更。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6647 ## 测试 纯注释改动,未运行 NPU UT(不影响编译及运行时行为): - git diff --check 通过; - clang-format 18.1.8 检查两个头文件无格式差异; - OAT 合规检查通过(scripts/oat_check.sh 检查 2 个文件); - codespell 按仓库配置跳过 *.h,不适用; - 已有 V3 Host API UT 覆盖 BFLOAT16 [16,32] 输入、INT32 [16,4] 输出场景,V3/V4 共用同一 shape 校验逻辑,本次注释与之对齐。 ## 文档更新 更新 quant/dynamic_quant/op_host/op_api/aclnn_dynamic_quant_v3.h、quant/dynamic_quant/op_host/op_api/aclnn_dynamic_quant_v4.h 的接口注释;对应 .md 接口文档原本已包含该规则,无需修改。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!12103 | 23 days ago | |
docs(quant): 修正aclnnDynamicQuantV3/V4头文件yOut的INT32 shape说明 Co-authored-by: tianye<tianye82@h-partners.com> # message auto-generated for no-merge-commit merge: !12103 merge br_dquant_fix_1016 into master docs(quant): 修正aclnnDynamicQuantV3/V4头文件yOut的INT32 shape说明 Created-by: transformer910 Commit-by: tianye Merged-by: cann-robot Description: ## 描述 修正 aclnnDynamicQuantV3/aclnnDynamicQuantV4 公共头文件中 yOut 的 shape 说明,对应文档反馈 Issue「aclnnDynamicQuantV3/V4 头文件中的 yOut shape 说明不完整」。 - 改动原因:原注释称 yOut 与 x shape 一致,但 dstType=DT_INT32 时 INT32 实际为 8 个 INT4 拼接,API 要求 yOut 与 x 维数相同、前置维度相同、最后一维为 x 最后一维的 1/8(如 x=[16,32] 时 yOut=[16,4])。调用方按原注释创建同形输出,会在 API shape 校验阶段失败。 - 改动方法:仅更新两个头文件的 @param yOut 注释,区分说明 INT32 的末维例外(最后一维为 x 最后一维的 1/8,其余维度一致),其他输出类型仍与 x shape 一致;与 docs/aclnnDynamicQuantV3.md、docs/aclnnDynamicQuantV4.md 中已记载的规则保持一致。不涉及代码逻辑变更。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6647 ## 测试 纯注释改动,未运行 NPU UT(不影响编译及运行时行为): - git diff --check 通过; - clang-format 18.1.8 检查两个头文件无格式差异; - OAT 合规检查通过(scripts/oat_check.sh 检查 2 个文件); - codespell 按仓库配置跳过 *.h,不适用; - 已有 V3 Host API UT 覆盖 BFLOAT16 [16,32] 输入、INT32 [16,4] 输出场景,V3/V4 共用同一 shape 校验逻辑,本次注释与之对齐。 ## 文档更新 更新 quant/dynamic_quant/op_host/op_api/aclnn_dynamic_quant_v3.h、quant/dynamic_quant/op_host/op_api/aclnn_dynamic_quant_v4.h 的接口注释;对应 .md 接口文档原本已包含该规则,无需修改。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!12103 | 23 days ago | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 4 months ago | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 4 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 22 days ago | ||
| 4 months ago | ||
| 23 days ago | ||
| 23 days ago | ||
| 4 months ago | ||
| 4 months ago |