| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
adaptive_avg_pool2d performance improvement Co-authored-by: zhaoxinmeng1<zhaoxinmeng1@huawei.com> # message auto-generated for no-merge-commit merge: !4367 merge adaptive_avg_pool2d into master adaptive_avg_pool2d performance improvement Created-by: zhaoxinmeng Commit-by: zhaoxinmeng1 Merged-by: cann-robot Description: ## 描述 AdaptiveAvgPool2d算子小kernel模板和simt模板模板性能提升 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2535 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 测试提供的所有泛化用例精度通过,性能达到预期的提升,冒烟无问题。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4367 | 4 个月前 | |
aclnnAdaptiveAvgPool3d david上输入第一根轴的shape可以为0,修改资料描述错误 Co-authored-by: Chapterone<wuxuewen5@huawei.com> # message auto-generated for no-merge-commit merge: !4238 merge master into master aclnnAdaptiveAvgPool3d david上输入第一根轴的shape可以为0,修改资料描述错误 Created-by: Chapterone Commit-by: Chapterone Merged-by: cann-robot Description: ## 描述 aclnnAdaptiveAvgPool3d david上输入第一根轴的shape可以为0,修改资料描述错误 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2344 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4238 | 4 个月前 | |
AdaptiveAvgPool3dgrad 调整校验逻辑 Co-authored-by: yuhwang<wangyuhang70@huawei.com> # message auto-generated for no-merge-commit merge: !4233 merge scatter_nn into master AdaptiveAvgPool3dgrad 调整校验逻辑 Created-by: yuhwang Commit-by: yuhwang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 在单算子校验逻辑中,支持了4维data_format 属性的校验逻辑。 - 图模式inferhshape存在跟单算子重复的校验逻辑,进行删除,只保留在单算子的校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2396 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> xrun测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4233 | 4 个月前 | |
nn仓doc tools扫描内容修改 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !3414 merge master into master nn仓doc tools扫描内容修改 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改markdown语法和链接,1000个左右。 ## 关联的Issue 关联Issue [#1783](https://gitcode.com/cann/ops-nn/issues/1783) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 更新了README.md、gitcode、cmake、common、control、conv、docs、examples、experimental、hash、index、loss、matmul、optim、pooling等文件。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3414 | 5 个月前 | |
修复全量UT AdaptiveMaxPool3d算子编译失败 Co-authored-by: warming<wangming176@huawei.com> # message auto-generated for no-merge-commit merge: !3502 merge master into master 修复全量UT AdaptiveMaxPool3d算子编译失败 Created-by: wsunmoon Commit-by: warming Merged-by: cann-robot Description: ## 描述 删除针对__bf16定义的条件编译 ## 关联的Issue 关联Issue [#1927](https://gitcode.com/cann/ops-nn/issues/1927) ## 测试 在线冒烟、UT、ST ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3502 | 5 个月前 | |
nn仓doc tools扫描内容修改 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !3414 merge master into master nn仓doc tools扫描内容修改 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改markdown语法和链接,1000个左右。 ## 关联的Issue 关联Issue [#1783](https://gitcode.com/cann/ops-nn/issues/1783) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 更新了README.md、gitcode、cmake、common、control、conv、docs、examples、experimental、hash、index、loss、matmul、optim、pooling等文件。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3414 | 5 个月前 | |
修复aclnnAdaptiveMaxpool3d接口在某些SHAPE场景下发生OOM并上报timeout or trap error错误问题 Co-authored-by: kevin_huang<kevin.huangdi@huawei.com> # message auto-generated for no-merge-commit merge: !4497 merge master into master 修复aclnnAdaptiveMaxpool3d接口在某些SHAPE场景下发生OOM并上报timeout or trap error错误问题 Created-by: kevin_huang1234 Commit-by: kevin_huang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. AdaptiveMaxPool3d算子在kernel侧和tiling侧使用的结构体不一致,在使用特殊的OOM包越界检查时, 会导致OOM工具包中获取到的输入tensor大小为0,从而发生OOM错误。 2. 修改方式:将tiling侧使用的tiling结构体修改为kernel侧注册的tiling结构体 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [Bug-Report|缺陷反馈]: aclnnAdaptiveMaxpool3d接口在某些SHAPE场景下发生OOM,上报timeout or trap error错误 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 1. 回归验证已有的adaptivemaxpool3d算子ST,并且冒烟测试通过 2. 回归验证涉及的adaptiveavgpool3d算子ST, 并且冒烟测试通过 3. 发生OOM错误的测试用例,在使用OOM包进行测试后已通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4497 | 4 个月前 | |
nn仓doc tools扫描内容修改 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !3414 merge master into master nn仓doc tools扫描内容修改 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改markdown语法和链接,1000个左右。 ## 关联的Issue 关联Issue [#1783](https://gitcode.com/cann/ops-nn/issues/1783) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 更新了README.md、gitcode、cmake、common、control、conv、docs、examples、experimental、hash、index、loss、matmul、optim、pooling等文件。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3414 | 5 个月前 | |
AvgPool3d算子资料修改 Co-authored-by: liuhongpeng<liuhongpeng2@h-partners.com> # message auto-generated for no-merge-commit merge: !3974 merge avgpool3d into master AvgPool3d算子资料修改 Created-by: liu_hp711 Commit-by: liuhongpeng Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据实际计算公式修改md文档。 增加ceil_mode为true时对outputSize的处理。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了aclnnAvgPool2d.md和aclnnAvgPool3d.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3974 | 4 个月前 | |
修复conv2d dx PreDilation PostDilation问题 Co-authored-by: jiangqi2025<jiangqi47@h-partners.com> # message auto-generated for no-merge-commit merge: !3933 merge fix_dx into master 修复conv2d dx PreDilation PostDilation问题 Created-by: jiangqi2025 Commit-by: jiangqi2025 Merged-by: cann-robot Description: ## 描述 conv2d dx 在插入PreDilation/PostDilation时,当strides较大时,将stridesH/W调整为inputH/W,但是未考虑pad情况,导致部分场景存在精度问题,该PR修复了这个问题。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> #2155 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3933 | 4 个月前 | |
add avg_pool_grad Co-authored-by: YuningYu<yuyuning1@huawei.com> # message auto-generated for no-merge-commit merge: !2449 merge master into master add avg_pool_grad Created-by: YuningYu Commit-by: YuningYu Merged-by: cann-robot Description: ## 描述 新增专属tensorflow的AvgPoolGrad算子,kernel调用AvgPoolV2Grad,tiling根据入参进行调整 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/1828 ## 测试 本地白盒用例测试已经通过,门槛用例也已验证通过,无精度问题,线上二级冒烟、David冒烟均已通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2449 | 5 个月前 | |
nn仓doc tools扫描内容修改 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !3414 merge master into master nn仓doc tools扫描内容修改 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改markdown语法和链接,1000个左右。 ## 关联的Issue 关联Issue [#1783](https://gitcode.com/cann/ops-nn/issues/1783) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 更新了README.md、gitcode、cmake、common、control、conv、docs、examples、experimental、hash、index、loss、matmul、optim、pooling等文件。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3414 | 5 个月前 | |
AvgPool2dGrad 代码修复、文档修改 Co-authored-by: 王世龙<wangshilong23@huawei.com> # message auto-generated for no-merge-commit merge: !3386 merge avg_grad_tilingkey_fix into master AvgPool2dGrad 代码修复、文档修改 Created-by: wang-shilong32 Commit-by: 王世龙 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AvgPool2dGrad 进行了功能完善、缺陷修复和代码优化。核心内容包括: 1)更新了二维平均池化反向传播算子(aclnnAvgPool2dBackward)的API文档,明确了stride参数支持长度为0(即stride=kernelSize)的用法; 2)修复了平均池化V2梯度算子(AvgPoolV2Grad)在推理数据类型时的一个索引错误,确保输出数据类型与正确的输入张量保持一致; 3)为AvgPoolV2Grad算子配置文件添加了格式无关性支持,以提升算子对不同数据格式的兼容性; 4)重构了该算子内核的tiling数据注册逻辑,通过模板选择机制简化了代码,提升了可维护性。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1871 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 线上出包,验证门槛用例,通过冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ops-nn\pooling\avg_pool3_d_grad\docs\aclnnAvgPool2dBackward.md ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3386 | 5 个月前 | |
nn仓doc tools扫描内容修改 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !3414 merge master into master nn仓doc tools扫描内容修改 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改markdown语法和链接,1000个左右。 ## 关联的Issue 关联Issue [#1783](https://gitcode.com/cann/ops-nn/issues/1783) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 更新了README.md、gitcode、cmake、common、control、conv、docs、examples、experimental、hash、index、loss、matmul、optim、pooling等文件。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3414 | 5 个月前 | |
修复max_pool3d_grad算子在infer shape时,错误拦截pad参数大小问题 Co-authored-by: kevin_huang<kevin.huangdi@huawei.com> # message auto-generated for no-merge-commit merge: !4655 merge master into master 修复max_pool3d_grad算子在infer shape时,错误拦截pad参数大小问题 Created-by: kevin_huang1234 Commit-by: kevin_huang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 修复max_pool3d_grad算子在infer shape时,错误拦截pad参数大小问题 2. 在950芯片类型时只校验pad mode为same和vaild ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [Bug-Report|缺陷反馈]: max_pool3d_grad算子在infer shape时,对于pad mode为CALCULATED时,错误拦截pad参数大小 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 1. 在910B上测试max_pool3d_grad算子的infer shape功能正常 2. 在950上测试max_pool3d_grad算子的infer shape功能正常 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4655 | 3 个月前 | |
增加算子原型注册:maxpool、maxpoolwithargmaxv1、maxpoolgradwithargmaxv1 Co-authored-by: liuchuangdev<liuchuang51@huawei.com> # message auto-generated for no-merge-commit merge: !4394 merge add_reg_op into master 增加算子原型注册:maxpool、maxpoolwithargmaxv1、maxpoolgradwithargmaxv1 Created-by: liuchuangdev Commit-by: liuchuangdev Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 增加算子原型注册:maxpool、maxpoolwithargmaxv1、maxpoolgradwithargmaxv1 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#2184](https://gitcode.com/cann/ops-nn/issues/2184) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 功能回归 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4394 | 4 个月前 | |
增加算子原型注册:maxpool、maxpoolwithargmaxv1、maxpoolgradwithargmaxv1 Co-authored-by: liuchuangdev<liuchuang51@huawei.com> # message auto-generated for no-merge-commit merge: !4394 merge add_reg_op into master 增加算子原型注册:maxpool、maxpoolwithargmaxv1、maxpoolgradwithargmaxv1 Created-by: liuchuangdev Commit-by: liuchuangdev Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 增加算子原型注册:maxpool、maxpoolwithargmaxv1、maxpoolgradwithargmaxv1 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#2184](https://gitcode.com/cann/ops-nn/issues/2184) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 功能回归 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4394 | 4 个月前 | |
maxPoolGrad simd模板 Co-authored-by: liuchuangdev<liuchuang51@huawei.com> Co-authored-by: qq_52056150<wangshuo179@huawei.com> Co-authored-by: oah28<wujiahao37@huawei.com> # message auto-generated for no-merge-commit merge: !4252 merge max_pool_grad_merge into master maxPoolGrad simd模板 Created-by: liuchuangdev Commit-by: qq_52056150;oah28;liuchuangdev Merged-by: cann-robot Description: ## 描述 ## 一、功能概述 ### 1.1 背景 MaxPoolGrad算子是深度学习中常用的反向传播算子,用于计算池化操作的梯度。针对不同的kernel大小和输入shape,需要不同的计算策略以实现最优性能: - **小kernel场景**:需要高向量化利用率,批量处理减少循环开销 - **大kernel场景**:需要支持kernel分割,避免UB溢出 - **通用场景**:需要支持多种数据格式(NCHW/NHWC)和索引类型(int32/int64) 传统单模式实现难以兼顾所有场景的性能需求,因此设计了**SIMD多模式模板系统**。 ### 1.2 核心特性 本PR实现了完整的SIMD模板系统,包含以下核心特性: | 特性 | 描述 | 技术优势 | |------|------|---------| | **三种Kernel模式** | SmallKernel、BigKernel、SIMT | 自动适配不同场景,性能最优 | | **编译期模板选择** | ASCENDC_TPL机制 | 零运行时开销,编译期确定实现路径 | | **多数据格式支持** | NCHW/NHWC双格式 | 覆盖主流框架需求(PyTorch/TensorFlow) | | **多索引类型支持** | int32/int64双类型 | 兼容不同argmax精度需求 | | **边界检查控制** | IS_CHECK_RANGE开关 | 针对不同场景优化性能 | | **向量API优化** | MicroAPI批量处理 | 高向量化利用率,减少指令数 | ## 二、代码结构 ### 2.1 文件组织 pooling/max_pool_grad/ ├── op_kernel/ │ ├── max_pool_grad.cpp # 主Kernel模板入口 │ ├── arch35/ │ │ ├── max_pool_grad_struct.h # 模板参数定义(ASCENDC_TPL) │ │ ├── max_pool_grad_simt.h # SIMT模式实现 │ │ ├── max_pool_grad_nchw_small_kernel.h # SmallKernel模式实现 │ │ ├── max_pool_grad_nchw_big_kernel.h # BigKernel模式实现 │ │ ├── max_pool_grad_nchw_backward_base.h # Backward公共基类 │ │ └── max_pool_grad_simt.h # SIMT通用实现 │ └── pool_grad_common/ │ └── arch35/ │ ├── max_pool_grad_with_argmax_base_common.h # 公共函数(Gather/Scatter) │ └── max_pool_grad_nchw_scatter_common.h # Scatter处理实现 ├── op_host/ │ └── arch35/ │ ├── max_pool_grad_tiling.cpp # Tiling实现(选择Kernel模式) │ └── max_pool_grad_tiling_simt.cpp # SIMT专用Tiling ├── tests/ │ ├── ut/ │ │ └ op_host/ │ │ └── test_max_pool_grad_tiling.cpp # Tiling UT测试 │ └── st/ │ └── test_max_pool_grad_st.py # ST性能测试 └── docs/ ├── max_pool_grad_doc.md # 算子文档 └── max_pool_grad_simd_template_pr.md # 本PR文档 ### 2.2 关键类关系图 ┌────────────────────────────────────────────┐ │ max_pool_grad<模板参数> │ │ - KERNEL_MODE │ │ - FORMAT │ │ - INDICES_DTYPE │ │ - IS_CHECK_RANGE │ └────────────────────────────────────────────┘ ↓ if constexpr ┌───────────────┼───────────────┐ ↓ ↓ ↓ ┌─────────┐ ┌─────────┐ ┌─────────┐ │SmallKernel│ │BigKernel │ │ SIMT │ │ Mode │ │ Mode │ │ Mode │ └─────────┘ └─────────┘ └─────────┘ ↓ ↓ ↓ ┌─────────────────────────────────────────────┐ │ MaxPoolGradNCHWBackwardBase(公共基类) │ │ - BackwardCompute(Scatter处理) │ │ - CopyInGrad / CopyOut │ │ - ScalarCompute(Tiling计算) │ └─────────────────────────────────────────────┘ --- ## 关联的Issue [#2276](https://gitcode.com/cann/ops-nn/issues/2276) ## 测试 基本功能测试,通路测试,冒烟测试,改动算子门槛回归、门槛测试、性能测试 ## 文档更新 新增pooling/max_pool_grad/op_graph/max_pool_grad_proto.h包含接口brief ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4252 | 4 个月前 | |
[CANNBot]新增pooling融合规则并迁移至新Pass框架 Co-authored-by: Apricityh<wangxu359@huawei.com> # message auto-generated for no-merge-commit merge: !2811 merge FusionPass into master [CANNBot]新增pooling融合规则并迁移至新Pass框架 Created-by: Apricityh Commit-by: Apricityh Merged-by: cann-robot Description: ## 描述 [CANNBot]新增pooling融合规则并迁移至新Pass框架 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/2248 ## 测试 回归图转换成功且通路算子精度pass ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:pooling融合规则并迁移至新Pass框架 ## 改动说明 基于新Pass框架与ES接口重构并迁移以下融合规则: 1. MaxPoolFusionPass: MaxPool → MaxPoolV3 2. MaxPoolWithArgmaxV3FusionPass: V1/V2 → MaxPoolWithArgmaxV3 3. MaxPoolGradWithArgmaxV3FusionPass: V1/V2 → MaxPoolGradWithArgmaxV3 ## AI/Agent 生成声明 代码来源: - [ ] 纯人工手写 - [x] AI 辅助编写(思路/片段/优化) - [ ] AI 完全生成 人工审查:已完成 测试验证:已通过 合规检查:已完成 See merge request: cann/ops-nn!2811 | 4 个月前 | |
[CANNBot]修复pooling融合规则平台限制,仅支持Ascend950 Co-authored-by: Apricityh<wangxu359@huawei.com> # message auto-generated for no-merge-commit merge: !4419 merge FusionPass_PlatformFix into master [CANNBot]修复pooling融合规则平台限制,仅支持Ascend950 Created-by: Apricityh Commit-by: Apricityh Merged-by: cann-robot Description: ## 描述 修复pooling融合规则平台限制,仅支持Ascend950 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/2434 ## 测试 修改后测试精度正常 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4419 | 4 个月前 | |
修改maxPoolV2 infershape告警 Co-authored-by: SimonZzz<zhouquan79@huawei.com> # message auto-generated for no-merge-commit merge: !2263 merge fixmaxpoolv2 into master 修改maxPoolV2 infershape告警 Created-by: SimonZzz Commit-by: SimonZzz Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改maxPoolV2 infershape告警 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1278 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!2263 | 6 个月前 | |
增加算子原型注册:maxpool、maxpoolwithargmaxv1、maxpoolgradwithargmaxv1 Co-authored-by: liuchuangdev<liuchuang51@huawei.com> # message auto-generated for no-merge-commit merge: !4394 merge add_reg_op into master 增加算子原型注册:maxpool、maxpoolwithargmaxv1、maxpoolgradwithargmaxv1 Created-by: liuchuangdev Commit-by: liuchuangdev Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 增加算子原型注册:maxpool、maxpoolwithargmaxv1、maxpoolgradwithargmaxv1 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#2184](https://gitcode.com/cann/ops-nn/issues/2184) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 功能回归 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> NA ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4394 | 4 个月前 | |
[CANNBot]新增pooling融合规则并迁移至新Pass框架 Co-authored-by: Apricityh<wangxu359@huawei.com> # message auto-generated for no-merge-commit merge: !2811 merge FusionPass into master [CANNBot]新增pooling融合规则并迁移至新Pass框架 Created-by: Apricityh Commit-by: Apricityh Merged-by: cann-robot Description: ## 描述 [CANNBot]新增pooling融合规则并迁移至新Pass框架 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/2248 ## 测试 回归图转换成功且通路算子精度pass ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:pooling融合规则并迁移至新Pass框架 ## 改动说明 基于新Pass框架与ES接口重构并迁移以下融合规则: 1. MaxPoolFusionPass: MaxPool → MaxPoolV3 2. MaxPoolWithArgmaxV3FusionPass: V1/V2 → MaxPoolWithArgmaxV3 3. MaxPoolGradWithArgmaxV3FusionPass: V1/V2 → MaxPoolGradWithArgmaxV3 ## AI/Agent 生成声明 代码来源: - [ ] 纯人工手写 - [x] AI 辅助编写(思路/片段/优化) - [ ] AI 完全生成 人工审查:已完成 测试验证:已通过 合规检查:已完成 See merge request: cann/ops-nn!2811 | 4 个月前 | |
[CANNBot]修复pooling融合规则平台限制,仅支持Ascend950 Co-authored-by: Apricityh<wangxu359@huawei.com> # message auto-generated for no-merge-commit merge: !4419 merge FusionPass_PlatformFix into master [CANNBot]修复pooling融合规则平台限制,仅支持Ascend950 Created-by: Apricityh Commit-by: Apricityh Merged-by: cann-robot Description: ## 描述 修复pooling融合规则平台限制,仅支持Ascend950 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/2434 ## 测试 修改后测试精度正常 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4419 | 4 个月前 | |
maxPoolGrad simd模板 Co-authored-by: liuchuangdev<liuchuang51@huawei.com> Co-authored-by: qq_52056150<wangshuo179@huawei.com> Co-authored-by: oah28<wujiahao37@huawei.com> # message auto-generated for no-merge-commit merge: !4252 merge max_pool_grad_merge into master maxPoolGrad simd模板 Created-by: liuchuangdev Commit-by: qq_52056150;oah28;liuchuangdev Merged-by: cann-robot Description: ## 描述 ## 一、功能概述 ### 1.1 背景 MaxPoolGrad算子是深度学习中常用的反向传播算子,用于计算池化操作的梯度。针对不同的kernel大小和输入shape,需要不同的计算策略以实现最优性能: - **小kernel场景**:需要高向量化利用率,批量处理减少循环开销 - **大kernel场景**:需要支持kernel分割,避免UB溢出 - **通用场景**:需要支持多种数据格式(NCHW/NHWC)和索引类型(int32/int64) 传统单模式实现难以兼顾所有场景的性能需求,因此设计了**SIMD多模式模板系统**。 ### 1.2 核心特性 本PR实现了完整的SIMD模板系统,包含以下核心特性: | 特性 | 描述 | 技术优势 | |------|------|---------| | **三种Kernel模式** | SmallKernel、BigKernel、SIMT | 自动适配不同场景,性能最优 | | **编译期模板选择** | ASCENDC_TPL机制 | 零运行时开销,编译期确定实现路径 | | **多数据格式支持** | NCHW/NHWC双格式 | 覆盖主流框架需求(PyTorch/TensorFlow) | | **多索引类型支持** | int32/int64双类型 | 兼容不同argmax精度需求 | | **边界检查控制** | IS_CHECK_RANGE开关 | 针对不同场景优化性能 | | **向量API优化** | MicroAPI批量处理 | 高向量化利用率,减少指令数 | ## 二、代码结构 ### 2.1 文件组织 pooling/max_pool_grad/ ├── op_kernel/ │ ├── max_pool_grad.cpp # 主Kernel模板入口 │ ├── arch35/ │ │ ├── max_pool_grad_struct.h # 模板参数定义(ASCENDC_TPL) │ │ ├── max_pool_grad_simt.h # SIMT模式实现 │ │ ├── max_pool_grad_nchw_small_kernel.h # SmallKernel模式实现 │ │ ├── max_pool_grad_nchw_big_kernel.h # BigKernel模式实现 │ │ ├── max_pool_grad_nchw_backward_base.h # Backward公共基类 │ │ └── max_pool_grad_simt.h # SIMT通用实现 │ └── pool_grad_common/ │ └── arch35/ │ ├── max_pool_grad_with_argmax_base_common.h # 公共函数(Gather/Scatter) │ └── max_pool_grad_nchw_scatter_common.h # Scatter处理实现 ├── op_host/ │ └── arch35/ │ ├── max_pool_grad_tiling.cpp # Tiling实现(选择Kernel模式) │ └── max_pool_grad_tiling_simt.cpp # SIMT专用Tiling ├── tests/ │ ├── ut/ │ │ └ op_host/ │ │ └── test_max_pool_grad_tiling.cpp # Tiling UT测试 │ └── st/ │ └── test_max_pool_grad_st.py # ST性能测试 └── docs/ ├── max_pool_grad_doc.md # 算子文档 └── max_pool_grad_simd_template_pr.md # 本PR文档 ### 2.2 关键类关系图 ┌────────────────────────────────────────────┐ │ max_pool_grad<模板参数> │ │ - KERNEL_MODE │ │ - FORMAT │ │ - INDICES_DTYPE │ │ - IS_CHECK_RANGE │ └────────────────────────────────────────────┘ ↓ if constexpr ┌───────────────┼───────────────┐ ↓ ↓ ↓ ┌─────────┐ ┌─────────┐ ┌─────────┐ │SmallKernel│ │BigKernel │ │ SIMT │ │ Mode │ │ Mode │ │ Mode │ └─────────┘ └─────────┘ └─────────┘ ↓ ↓ ↓ ┌─────────────────────────────────────────────┐ │ MaxPoolGradNCHWBackwardBase(公共基类) │ │ - BackwardCompute(Scatter处理) │ │ - CopyInGrad / CopyOut │ │ - ScalarCompute(Tiling计算) │ └─────────────────────────────────────────────┘ --- ## 关联的Issue [#2276](https://gitcode.com/cann/ops-nn/issues/2276) ## 测试 基本功能测试,通路测试,冒烟测试,改动算子门槛回归、门槛测试、性能测试 ## 文档更新 新增pooling/max_pool_grad/op_graph/max_pool_grad_proto.h包含接口brief ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4252 | 4 个月前 | |
maxPoolGrad simd模板 Co-authored-by: liuchuangdev<liuchuang51@huawei.com> Co-authored-by: qq_52056150<wangshuo179@huawei.com> Co-authored-by: oah28<wujiahao37@huawei.com> # message auto-generated for no-merge-commit merge: !4252 merge max_pool_grad_merge into master maxPoolGrad simd模板 Created-by: liuchuangdev Commit-by: qq_52056150;oah28;liuchuangdev Merged-by: cann-robot Description: ## 描述 ## 一、功能概述 ### 1.1 背景 MaxPoolGrad算子是深度学习中常用的反向传播算子,用于计算池化操作的梯度。针对不同的kernel大小和输入shape,需要不同的计算策略以实现最优性能: - **小kernel场景**:需要高向量化利用率,批量处理减少循环开销 - **大kernel场景**:需要支持kernel分割,避免UB溢出 - **通用场景**:需要支持多种数据格式(NCHW/NHWC)和索引类型(int32/int64) 传统单模式实现难以兼顾所有场景的性能需求,因此设计了**SIMD多模式模板系统**。 ### 1.2 核心特性 本PR实现了完整的SIMD模板系统,包含以下核心特性: | 特性 | 描述 | 技术优势 | |------|------|---------| | **三种Kernel模式** | SmallKernel、BigKernel、SIMT | 自动适配不同场景,性能最优 | | **编译期模板选择** | ASCENDC_TPL机制 | 零运行时开销,编译期确定实现路径 | | **多数据格式支持** | NCHW/NHWC双格式 | 覆盖主流框架需求(PyTorch/TensorFlow) | | **多索引类型支持** | int32/int64双类型 | 兼容不同argmax精度需求 | | **边界检查控制** | IS_CHECK_RANGE开关 | 针对不同场景优化性能 | | **向量API优化** | MicroAPI批量处理 | 高向量化利用率,减少指令数 | ## 二、代码结构 ### 2.1 文件组织 pooling/max_pool_grad/ ├── op_kernel/ │ ├── max_pool_grad.cpp # 主Kernel模板入口 │ ├── arch35/ │ │ ├── max_pool_grad_struct.h # 模板参数定义(ASCENDC_TPL) │ │ ├── max_pool_grad_simt.h # SIMT模式实现 │ │ ├── max_pool_grad_nchw_small_kernel.h # SmallKernel模式实现 │ │ ├── max_pool_grad_nchw_big_kernel.h # BigKernel模式实现 │ │ ├── max_pool_grad_nchw_backward_base.h # Backward公共基类 │ │ └── max_pool_grad_simt.h # SIMT通用实现 │ └── pool_grad_common/ │ └── arch35/ │ ├── max_pool_grad_with_argmax_base_common.h # 公共函数(Gather/Scatter) │ └── max_pool_grad_nchw_scatter_common.h # Scatter处理实现 ├── op_host/ │ └── arch35/ │ ├── max_pool_grad_tiling.cpp # Tiling实现(选择Kernel模式) │ └── max_pool_grad_tiling_simt.cpp # SIMT专用Tiling ├── tests/ │ ├── ut/ │ │ └ op_host/ │ │ └── test_max_pool_grad_tiling.cpp # Tiling UT测试 │ └── st/ │ └── test_max_pool_grad_st.py # ST性能测试 └── docs/ ├── max_pool_grad_doc.md # 算子文档 └── max_pool_grad_simd_template_pr.md # 本PR文档 ### 2.2 关键类关系图 ┌────────────────────────────────────────────┐ │ max_pool_grad<模板参数> │ │ - KERNEL_MODE │ │ - FORMAT │ │ - INDICES_DTYPE │ │ - IS_CHECK_RANGE │ └────────────────────────────────────────────┘ ↓ if constexpr ┌───────────────┼───────────────┐ ↓ ↓ ↓ ┌─────────┐ ┌─────────┐ ┌─────────┐ │SmallKernel│ │BigKernel │ │ SIMT │ │ Mode │ │ Mode │ │ Mode │ └─────────┘ └─────────┘ └─────────┘ ↓ ↓ ↓ ┌─────────────────────────────────────────────┐ │ MaxPoolGradNCHWBackwardBase(公共基类) │ │ - BackwardCompute(Scatter处理) │ │ - CopyInGrad / CopyOut │ │ - ScalarCompute(Tiling计算) │ └─────────────────────────────────────────────┘ --- ## 关联的Issue [#2276](https://gitcode.com/cann/ops-nn/issues/2276) ## 测试 基本功能测试,通路测试,冒烟测试,改动算子门槛回归、门槛测试、性能测试 ## 文档更新 新增pooling/max_pool_grad/op_graph/max_pool_grad_proto.h包含接口brief ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4252 | 4 个月前 | |
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: !318 merge license2 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!318 | 9 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 3 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 9 个月前 |