| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【社区任务】AscendC实现AscendAntiQuantV2算子贡献 Co-authored-by: weixin_54022960<yaoqz80@126.com> # message auto-generated for no-merge-commit merge: !6332 merge master into master 【社区任务】AscendC实现AscendAntiQuantV2算子贡献 Created-by: weixin_54022960 Commit-by: weixin_54022960 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/3480 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6332 | 1 个月前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 27 天前 | |
Refactor turbo_quant_compress_latent to support DeepSeek-V4 Co-authored-by: wangbin207<wangbin207@huawei.com> Co-authored-by: root<qjgggsse@126.com> # message auto-generated for no-merge-commit merge: !9311 merge master into master Refactor turbo_quant_compress_latent to support DeepSeek-V4 Created-by: wangbin207 Commit-by: wangbin207;root Merged-by: cann-robot Description: # 描述 扩展 experimental/quant/turbo_quant_compress_latent/,为 Atlas A2(ascend910b)和 Atlas A3(ascend910_93)提供 DeepSeek-V4 TurboQuant 4bit KV latent 压缩能力。 本次改动保留 GLM 原有 output_mode=0 语义,新增 DeepSeek-V4 使用的 output_mode=1 compact corrected slot。 text norm_i = sqrt(sum_d latent[i][d]^2 + eps) u[i][d] = latent[i][d] / norm_i nibble[i][d] = argmin_c |u[i][d] - centroids[c]| slot[i][k] = nibble[i][2k] | (nibble[i][2k+1] << 4) mode 0 保持 320B 对齐布局,scale 为 float16(norm_i);mode 1 输出 258B compact corrected slot: text correctedScale_i = norm_i / sqrt(sum_d centroids[nibble[i][d]]^2 + eps) 当 headDim=512 时: | 模式 | 布局 | 大小 | | --- | --- | ---: | | mode 0 | 256B packed nibble + 2B norm + 62B padding | 320B | | mode 1 | 256B packed nibble + 2B corrected scale | 258B | ## 关联的Issue [扩展TurboQuant4bit算子以支持DeepSeek V4系列模型][(https://gitcode.com/cann/ops-nn/issues/4942) # 测试 测试环境:CANN 9.0.1;A2 使用 ascend910b package;当前空闲物理 die 8-15 对应逻辑设备 4-7,真机运行时为 ascend910_93,使用匹配的 A3 package 完成验证。 ## 构建 bash bash build.sh --pkg --soc=ascend910b --ops=turbo_quant_compress_latent --experimental --vendor_name=customize bash build.sh --pkg --soc=ascend910_93 --ops=turbo_quant_compress_latent --experimental --vendor_name=customize A2 package 构建通过,生成 .run 包、aclnn header、proto 和 kernel binary;A3 cross-build 通过。 ## UT | 套件 | 结果 | | --- | --- | | tests/ut/op_host | **22/22 PASS** | | tests/ut/op_kernel | **24/24 PASS** | Host 层覆盖默认 mode 0、显式 mode 1、动态 token/head 维、slot size、tiling 字段、空 Tensor、非法 headDim、非法 centroid 数、非法 mode 和非法 rank。 Kernel ICPU UT 覆盖 mode 0 回归、mode 1 多核切分、尾核、batch 尾块、最大 batch、空 Tensor、uniform、gauss_lat、全部 centroid offset、NaN/Inf 混合输入以及 258B 行间距。 摘要: text total=24, pass=24, fail=0, timeout=0 ## Golden 与精度判据 golden 脚本位于: text tests/ut/op_kernel/turbo_quant_compress_latent_data/ gen_data.py golden.py compare_data.py golden 按 kernel 运算顺序复刻 FP32 L2 reduce、归一化、中点边界计数、码本选择、corrected-scale 规约、FP16 cast 和 int4 pack。 本算子输出为 UINT8,有限输入采用逐字节比较:packed nibble 和 mode 1 corrected scale 的 FP16 bit pattern 必须一致,mode 0 padding 必须全零;非有限输入比较 IEEE 类别。 已生成 mode 1 shape 矩阵: text 0 1 2 3 4 8 12 16 20 24 28 40 41 64 127 128 512 1000 1024 2048 4096 4097 8192 16384 65536 ## 性能 本次已完成 mode 0/1 真机精度和大输入验证;尚未新增 profiler 性能数据,性能 profiling 不影响逐字节正确性结论。 mode 1 相比 mode 0 的额外计算来自 selected centroid 向量选择、centroid norm 规约和 corrected scale 计算。slot payload 从 320B 降至 258B,减少 DeepSeek-V4 KV cache padding;端到端收益需要与读取侧融合 Attention 一起评估。 ## 文档更新 - 更新 experimental/quant/turbo_quant_compress_latent/README.md; - 更新 docs/aclnnTurboQuantCompressLatent.md; - 更新 aclnn 调用示例; - 更新 PyTorch eager、Meta 和图模式说明; - 补充 mode 0/1 布局、corrected scale 语义和约束说明。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!9311 | 17 天前 | |
Format update: Adjusted the license description format in all relevant files. Co-authored-by: jiangqi<jiangqi47@h-partners.com> # message auto-generated for no-merge-commit merge: !366 merge license6 into master Format update: Adjusted the license description format in all relevant files. Created-by: jiangqi2025 Commit-by: jiangqi Merged-by: turing_project1 Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!366 | 9 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 27 天前 | ||
| 17 天前 | ||
| 9 个月前 |