| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
perf: float2/float4 for embedding_hash_table_apply_adam_w Co-authored-by: alfengyuan<yyfgdut@gmail.com> # message auto-generated for no-merge-commit merge: !10323 merge perf/adamw-b128 into master perf: float2/float4 for embedding_hash_table_apply_adam_w Created-by: alfengyuan Commit-by: alfengyuan Merged-by: cann-robot Description: ## 描述 EmbeddingHashTableApplyAdamW 算子(arch35)引入 SIMT 访存合并 + 高维 probe 摊销布局优化: (1)**合并访存 VF**(fp32 偶数 dim∈[6,128]\{26,62\} 或 dim>736):独立 VF ComputeAdamWMergedFp32,m/v/maxGradNorm/grad/values 五路状态 float4(B128)/float2(B64) 批量访存(dim%4==0→float4,%4==2→float2,运行时 16B 对齐判定兜底),两相 load/compute/store 压寄存器峰值;blockX 主窗口封顶 4(dim≥88 为 8)、高窗口封顶 32。tiling/kernel 分派条件逐字一致(布局契约)。 (2)**probe 摊销布局**(dim 257~736 全 dtype/奇偶 + dim>736 的 fp16/奇数档):旧公式 blockNum=N×⌈dim/256⌉ 超额 block 全空转,改为 fp32 bx=32/by=16、fp16 bx=64/by=8(fp16 bx=32 在 even 344~352/奇数 641~767 实测稳定回退 0.93~0.99×,bx=64 全档 ≥1.017×,两 dtype 分叉为实测标定);legacy kernel 内 xLoop(xLoopSize=⌈dim/blockX⌉ kernel 推导)一次 probe 走全程,与旧公式位级一致。 (3)**回退策略**(全 dim 扫描标定):dim 26/62(0.975× 稳定回退)、dim 130~256(旧布局已近最优)保持 legacy;fp16 dim≤256 保持旧公式。 (4)**兼容性**:桶格式/tiling 字段/flag 位语义/MurmurHash3 零改动,hash 家族算子不受影响。 **改动文件**: - hash/embedding_hash_table_apply_adam_w/op_kernel/arch35/embedding_hash_table_apply_adam_w.h:合并 VF + Process() 分派门控 - hash/embedding_hash_table_apply_adam_w/op_host/arch35/embedding_hash_table_apply_adam_w_tiling_arch35.cpp:分派窗口 + probe 摊销布局分支 - hash/embedding_hash_table_apply_adam_w/tests/ut/op_host/arch35/test_embedding_hash_table_apply_adam_w_tiling.cpp:UT 文件名修复(原名不匹配 UT glob 从未执行)+ 新增分派窗口契约断言 7 组 **实测性能**(950PR,N=2^20,B=2^21,min 耗时,fp32 全 dim 1024 档 + fp16 逐档标定): - fp32 主窗口 dim 6~128:均值 1.12×(峰值 1.72×@dim8) - fp32 dim 257~736:368 档均值 1.13×(最好 1.45×@257) - fp32 dim>736 偶数:均值 1.25×(最好 1.46×@864) - fp16 dim 257~1024:均值 1.38×(峰值 2.98×@258) - 其余档(fp16≤256、fp32 奇数≤256、dim<6、130~256)持平,全 dim 双 dtype 无回退 **测试**: - e2e 真机五算子 sweep 全场景 150 用例全 PASS(init 36/36、lookup 54/54、export 11/11、import 9/9、adamw 40/40,含 dim>256 新增用例与 fp16 高维档) - tiling UT 4/4 PASS(含分派窗口契约断言) - 布局改动与旧公式位级一致(dim 258~1024 含奇数/amsgrad 逐字节比对) - 双机复测结论一致 关联需求 issue:https://gitcode.com/cann/ops-nn/issues/5823 See merge request: cann/ops-nn!10323 | 18 天前 | |
fix: 修复embedding_hash_table_export tiling UT文件名不匹配glob导致用例未执行 Co-authored-by: iuyi<202313350054@nuist.edu.cn> # message auto-generated for no-merge-commit merge: !10620 merge fix/embedding-hash-table-export-tiling-ut into master fix: 修复embedding_hash_table_export tiling UT文件名不匹配glob导致用例未执行 Created-by: iuyi Commit-by: iuyi Merged-by: cann-robot Description: ## 描述 op_host tiling UT 源文件收集规则为 test_*_tiling.cpp(cmake/ut.cmake), test_embedding_hash_table_export_tiling_arch35.cpp 不匹配该模式, 导致该算子 tiling 用例从未被编译执行。arch35 目录本身已区分架构, 文件名无需 _arch35 后缀,按目录内通用命名规范重命名为 test_embedding_hash_table_export_tiling.cpp,使用例纳入 nn_op_tiling_ut_cases_obj 并随 nn_op_host_ut 执行。 ## 关联的Issue 关联 #5981(hash目录3个算子tiling UT文件名不匹配glob规则导致用例从未被执行,本PR为按算子拆分的3个修复之一) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!10620 | 12 天前 | |
fix: 修复embedding_hash_table_import tiling UT文件名不匹配glob导致用例未执行 Co-authored-by: iuyi<202313350054@nuist.edu.cn> # message auto-generated for no-merge-commit merge: !10619 merge fix/embedding-hash-table-import-tiling-ut into master fix: 修复embedding_hash_table_import tiling UT文件名不匹配glob导致用例未执行 Created-by: iuyi Commit-by: iuyi Merged-by: cann-robot Description: ## 描述 op_host tiling UT 源文件收集规则为 test_*_tiling.cpp(cmake/ut.cmake), test_embedding_hash_table_import_tiling_arch35.cpp 不匹配该模式, 导致该算子 tiling 用例从未被编译执行。arch35 目录本身已区分架构, 文件名无需 _arch35 后缀,按目录内通用命名规范重命名为 test_embedding_hash_table_import_tiling.cpp,使用例纳入 nn_op_tiling_ut_cases_obj 并随 nn_op_host_ut 执行。 ## 关联的Issue 关联 #5981(hash目录3个算子tiling UT文件名不匹配glob规则导致用例从未被执行,本PR为按算子拆分的3个修复之一) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!10619 | 12 天前 | |
MicroAPI namespace to Reg for arch35 kernels Co-authored-by: gcw_DS4cmz2b<1312925094@qq.com> # message auto-generated for no-merge-commit merge: !9267 merge rename into master MicroAPI namespace to Reg for arch35 kernels Created-by: gcw_DS4cmz2b Commit-by: gcw_DS4cmz2b Merged-by: cann-robot Description: ## 描述 修改了index,activation,matmul,conv,foreach,optim,experimental,vfusion,hash这几个文件夹内的命名空间,将MicroAPI-->Reg ## 关联的Issue [多个文件夹内的算子命名空间使用的MicroAPI,应改为Reg](https://gitcode.com/cann/ops-nn/issues/5218) ## 测试 验证方法 严格按四步流程,逐算子验证: 1. Step 1:编译原始代码,保存 baseline binary .o 文件 MD5 2. Step 2:执行 MicroAPI → Reg 替换 3. Step 3:编译替换后代码,保存 after binary .o 文件 MD5 4. Step 4:对比 A_before.md5 与 B_after.md5 平台:ascend950,编译参数:--soc=ascend950 --ops=<op> -j16 验证替换前后 binary 产物 MD5 完全一致。 冒烟,代码审查均通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9267 | 1 个月前 | |
fix: 修复init_embedding_hash_table tiling UT文件名不匹配glob导致用例未执行 Co-authored-by: iuyi<202313350054@nuist.edu.cn> # message auto-generated for no-merge-commit merge: !10618 merge fix/init-embedding-hash-table-tiling-ut into master fix: 修复init_embedding_hash_table tiling UT文件名不匹配glob导致用例未执行 Created-by: iuyi Commit-by: iuyi Merged-by: cann-robot Description: ## 描述 op_host tiling UT 源文件收集规则为 test_*_tiling.cpp(cmake/ut.cmake), test_init_embedding_hash_table_tiling_arch35.cpp 不匹配该模式, 导致该算子 tiling 用例从未被编译执行。arch35 目录本身已区分架构, 文件名无需 _arch35 后缀,按目录内通用命名规范重命名为 test_init_embedding_hash_table_tiling.cpp,使用例纳入 nn_op_tiling_ut_cases_obj 并随 nn_op_host_ut 执行。 ## 关联的Issue 关联 #5981(hash目录3个算子tiling UT文件名不匹配glob规则导致用例从未被执行,本PR为按算子拆分的3个修复之一) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!10618 | 12 天前 | |
下一代hash算子功能支持 Co-authored-by: 张磊<zhanglei121@huawei.com> # message auto-generated for no-merge-commit merge: !540 merge master into master 下一代hash算子功能支持 Created-by: zl_hw Commit-by: 张磊 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!540 | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 18 天前 | ||
| 12 天前 | ||
| 12 天前 | ||
| 1 个月前 | ||
| 12 天前 | ||
| 8 个月前 |