本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
子流水线支持更新门禁代码 Co-authored-by: jinyijian<jinyijian1@huawei.com> # message auto-generated for no-merge-commit merge: !4515 merge CI into master 子流水线支持更新门禁代码 Created-by: jinyijian Commit-by: jinyijian Merged-by: cann-robot Description: ## 描述 子流水线支持更新门禁代码 当门禁包含子流水线时,如果没有这个配置,会导致子流水线中任务无法更新最新代码,使用落后的代码跑门禁 ## 关联的Issue ## 测试 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4515 | 4 个月前 | |
UT修改 | 2 个月前 | |
leaky_relu更新计算公式 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !5558 merge LeakyReluNewFormula into master leaky_relu更新计算公式 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> leaky_relu更新计算公式 $$ \text{LeakyReLU}(x) = \begin{cases} x, & \text{if } x > 0 \\ \alpha \cdot x, & \text{if } x \leq 0 \end{cases} $$ ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3039 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5558 | 2 个月前 | |
add layernorm remove broadcast fusion pass Co-authored-by: rk<wangpengbo26@huawei.com> # message auto-generated for no-merge-commit merge: !5856 merge ln_fusionpass into master add layernorm remove broadcast fusion pass Created-by: wangpengbo26 Commit-by: rk Merged-by: cann-robot Description: ## 描述 新增 LayerNormRemoveBroadcastFusionPass,用于匹配 LayerNorm 前 gamma、beta 两路 BroadcastTo 节点,并在满足静态 shape、gamma/beta 非标量、gamma/beta shape 与 dtype 一致、gamma shape 匹配 x 的归一化后缀维度、begin_norm_axis 与归一化轴一致,且平台 short soc 为 Ascend950 或 MC62 时,替换为直接以 gamma、beta 作为输入的 LayerNorm 子图。 同时补充 BroadcastTo op graph proto stub,供 nn 仓融合规则通过 es 构造 BroadcastTo 模板图使用。 ## 关联的Issue - #3322 ## 测试 - 已执行 LayerNormRemoveBroadcastFusionPass op_graph UT,覆盖 BroadcastTo 移除成功、正向 begin_norm_axis、动态 shape、标量 gamma/beta、gamma/beta shape 不一致、不支持平台、gamma rank 大于 x rank、begin_norm_axis 不匹配等场景。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5856 | 2 个月前 | |
批量修改md中冗余空格 Co-authored-by: wuyao51511<wuyao61@h-partners.com> # message auto-generated for no-merge-commit merge: !6027 merge master into master 批量修改md中冗余空格 Created-by: wuyao51511 Commit-by: wuyao51511 Merged-by: cann-robot Description: ## 描述 文档空格问题清理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6027 | 2 个月前 | |
convBackpropFilter算子改正报错信息不准确的问题 Co-authored-by: Jiaxin_001<jiaxin12@huawei.com> # message auto-generated for no-merge-commit merge: !6121 merge errormsg_0615 into master convBackpropFilter算子改正报错信息不准确的问题 Created-by: Jiaxin_001 Commit-by: Jiaxin_001 Merged-by: cann-robot Description: ## 描述 convBackpropFilter算子报错信息不准确,group校验时信息打印与value对不上。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/3364 ## 测试 rdv pass ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6121 | 2 个月前 | |
资料修改 | 2 个月前 | |
修复md中空格 Co-authored-by: wuyao51511<wuyao61@h-partners.com> # message auto-generated for no-merge-commit merge: !6074 merge master into master 修复md中空格 Created-by: wuyao51511 Commit-by: wuyao51511 Merged-by: cann-robot Description: ## 描述 文档空格问题清理 ## 关联的Issue https://atomgit.com/cann/ops-nn/issues/3345 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 更新了 quick_install.md aclnnExpandIntoJaggedPermute.md aclnnQuantMatmulDequant.md aclnnLstmBackward.md examples/fast_kernel_launch_example/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6074 | 2 个月前 | |
[CANNBOT] DataFormatDimMap 算子适配Ascend950 AscendC实现 Co-authored-by: StoneChan_<chensitong2@huawei.com> # message auto-generated for no-merge-commit merge: !6151 merge restore/data-format-dim-map into master [CANNBOT] DataFormatDimMap 算子适配Ascend950 AscendC实现 Created-by: StoneChan_ Commit-by: StoneChan_ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> DataFormatDimMap 根据源数据格式和目标数据格式的维度映射关系,将输入的维度索引转换为目标格式下的对应维度索引。兼容 TensorFlow DataFormatDimMap 算子语义。 **计算公式**: $$ y_j = \text{table}\!\left[\,(x_j + N) \bmod N\,\right] $$ 其中: - $\text{table}[i]$ = src_format[i] 在 dst_format 中的位置索引 - $N$ = 格式字符串长度(支持 1~5) - $x_j$ = 输入张量中第 $j$ 个元素(维度索引值),取值范围 $[-N, N)$ - $(x_j + N) \bmod N$ 将负索引归一化到 $[0, N)$,支持 Python 风格负索引语义 **参数说明**: | 参数 | 类型 | 说明 | |------|------|------| | x (输入) | INT32/INT64, ND | 维度索引张量,取值范围 $[-N, N)$ | | src_format (属性) | STRING, 默认 "NHWC" | 源数据格式,长度 1~5 | | dst_format (属性) | STRING, 默认 "NCHW" | 目标数据格式,长度 1~5 | | y (输出) | INT32/INT64, ND | 映射结果,shape 与 x 相同 | **约束**: - src_format 与 dst_format 必须包含相同字符集(顺序可不同) - 格式字符串长度 1~5 - 输入 shape 维度数不超过 8 **示例**:输入 [0, 1, 2, 3],src=NHWC,dst=NCHW - 构建映射表:N→0, H→2, W→3, C→1 → table = [0, 2, 3, 1] - 逐元素查表:x=0→table[0]=0, x=1→table[1]=2, x=2→table[2]=3, x=3→table[3]=1 - 输出:[0, 2, 3, 1] **实现要点**: - Tiling 阶段(Host 侧):构建 expandedTable 映射表(长度 2×formatLen,后半段为前半段副本,用于负索引查表);多核切分 blockFactor = CeilAlign(CeilDiv(totalNum, coreNum), ubBlockSize);UB 切分 ubFactor = FloorAlign(ubSize / bytesPerElement, ubBlockSize) - Kernel 阶段(Device 侧):向量化实现取模运算(Cast → Adds(+N) → Muls(×1/N) → Floor → Muls(×N) → Sub)+ Compares/Select 链完成查表映射;双缓冲流水线(CopyIn/Compute/CopyOut 重叠);INT64 通过 INT32 中转再转 float,因取值范围 [-5,5) 无精度损失 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3375 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> DataFormatDimMap 共 47 条 UT 测试用例 + 1 条图模式调用样例,全部通过。 **op_host InferShape UT(8 条)** | 用例 | 输入 shape | 数据类型 | 验证点 | |------|-----------|---------|--------| | infershape_1d | [128] | INT32 | 1D 输出 shape 正确 | | infershape_2d | [64, 128] | INT32 | 2D 输出 shape 正确 | | infershape_4d | [4, 16, 4, 4] | INT32 | 4D 输出 shape 正确 | | infershape_5d | [2, 4, 8, 16, 32] | INT32 | 5D 输出 shape 正确 | | infershape_scalar | [] | INT32 | 标量输出 shape 正确 | | infershape_int64 | [256, 512] | INT64 | INT64 类型 shape 正确 | | infershape_large_tensor | [1024, 2048] | INT32 | 大张量 shape 正确 | | infershape_8d | [1,2,3,4,5,6,7,8] | INT32 | 最大维度数 8D | **op_host Tiling UT(35 条)** 按测试类别: | 类别 | 数量 | 说明 | |------|------|------| | 映射表构造 | 5 条 | NHWC↔NCHW、NDHWC↔NCDHW、HWNC↔NHWC、NCHW→NHWC(int64)、NDHWC→NCDHW(int64) | | 数据大小边界 | 8 条 | 空张量[0]、单元素[1]、小数据[100]、边界[1023/1024/2048]、大数据[10000/100000] | | TilingKey 一致性 | 4 条 | 同 dtype 不同数据量 tilingKey 相同、不同 dtype tilingKey 不同 | | 多核切分对齐 | 4 条 | blockFactor 对齐(int32 对齐 8、int64 对齐 4)、整除核数、多核拆分 | | INT64 dtype 路径 | 5 条 | 小数据/大数据/ubFactor 计算/边界 1023 vs 1024/NCHW→NHWC | | 多维 shape | 2 条 | [4,8] 展平为 32、[100] 单核 | | 格式长度分支 | 4 条 | N=4 expandedTable 尾部填充、N=5 映射表/大数据/N4 vs N5 tilingKey | | 非法格式校验 | 2 条 | dstFormat 非 srcFormat 排列("NNNN")、部分字符不匹配("NCHX") | | 反向映射 | 1 条 | HWNC→NHWC 大张量 int64 | **op_kernel UT(4 条,CANN Simulator 仿真验证)** | 用例 | 数据类型 | 核数 | 耗时 | 验证点 | |------|---------|------|------|--------| | nhwc_to_nchw_int32_256elem | INT32 | 1 | 383ms | 正索引 [0,1,2,3]→[0,2,3,1],256 元素 | | nhwc_to_nchw_int64_256elem | INT64 | 1 | 290ms | INT64 正索引映射正确 | | nhwc_to_nchw_int32_negative_256elem | INT32 | 1 | 274ms | 负索引 [-1,-2,-3,-4]→[1,3,2,0] | | nhwc_to_nchw_int32_multicore | INT32 | 2 | 376ms | 多核切分执行,1024 元素 | **图模式调用样例(1 条)** | 调用方式 | 输入 | 格式映射 | 输出 | 结果 | |---------|------|---------|------|------| | graph 模式 | [0,1,2,3] INT32 | NHWC→NCHW | [0,2,3,1] | ✅ 通过 | ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增 index/data_format_dim_map/README.md 算子说明文档。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6151 | 2 个月前 | |
foreach/lamb/scatter类算子资料及原型整改,以及示例补齐 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6065 merge master into master foreach/lamb/scatter类算子资料及原型整改,以及示例补齐 Created-by: zl_hw Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 foreach/Lamb/scatter类长尾算子资料规范、license规范和原型说明注释规范等补充 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 ut/st 全部OBP和David冒烟已通过 ## 文档更新 所有算子README.md和op_list.md以及aclnn_op_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6065 | 2 个月前 | |
revise kernel compile options Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !5202 merge master into master revise kernel compile options Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 kernel配置项整改:foreach,hash,loss,rnn,vfusion ## 关联的Issue [#1985](https://gitcode.com/cann/ops-nn/issues/1985) ## 测试 本地编译,对比修改前后.o ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5202 | 3 个月前 | |
scatterNdUpdate 算子确定性模板性能优化 Co-authored-by: wuxingtao<wuxingtao3@h-partners.com> # message auto-generated for no-merge-commit merge: !5837 merge scatter_qdx_xn into master scatterNdUpdate 算子确定性模板性能优化 Created-by: xingtaowu Commit-by: wuxingtao Merged-by: cann-robot Description: ## 描述 scatterNdUpdate 算子跑确定性部分用例性能较差,需要优化。 1. simt 确定性模板: - indicesAxis_=1 路由到走非确定性模板 - Mask全核初始化 2. simd 确定性模板: - MTE2+MTE3串行 + 4次event/循环 --> 双buffer流水,MTE3和下一个MTE2并行,提升效率 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/3237 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 1. 劣化用例性能提升 2. 测试提供的确定性用例全量通过 2. st 用例、david 冒烟通过 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5837 | 2 个月前 | |
批量修改md中冗余空格 Co-authored-by: wuyao51511<wuyao61@h-partners.com> # message auto-generated for no-merge-commit merge: !6027 merge master into master 批量修改md中冗余空格 Created-by: wuyao51511 Commit-by: wuyao51511 Merged-by: cann-robot Description: ## 描述 文档空格问题清理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6027 | 2 个月前 | |
【A2 A3】qbmmv4 qbmmv3 bmmv3 mmv3有部分冗余的.o,同时不冗余的.o里面有冗余的tilingkey Co-authored-by: wmg1<wangmingguang2@h-partners.com> # message auto-generated for no-merge-commit merge: !6044 merge delete_o into master 【A2 A3】qbmmv4 qbmmv3 bmmv3 mmv3有部分冗余的.o,同时不冗余的.o里面有冗余的tilingkey Created-by: wmg1 Commit-by: wmg1 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->【A2 A3】qbmmv4 qbmmv3 bmmv3 mmv3有部分冗余的.o,同时不冗余的.o里面有冗余的tilingkey。走读tiling代码,检查对应的.o或者tilingkey是否能走到,走不到的移除。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000-->https://gitcode.com/cann/ops-nn/issues/2989 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ttk全量用例测试 atk测试 rdv网络测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:质量加固 See merge request: cann/ops-nn!6044 | 2 个月前 | |
修复 GroupNormSwishGrad 在低版本 CANN 下的 DAV_3510 编译问题 Co-authored-by: weinachuan<weinachuan@huawei.com> # message auto-generated for no-merge-commit merge: !6118 merge codex/fix-group-norm-swish-grad-cann-upstream into master 修复 GroupNormSwishGrad 在低版本 CANN 下的 DAV_3510 编译问题 Created-by: Wei_NaChuan Commit-by: weinachuan Merged-by: cann-robot Description: ## 描述 修复 GroupNormSwishGrad tiling 中使用 NpuArch::DAV_3510 时未包含对应枚举定义头文件导致低版本 CANN 编译不兼容的问题。 platform_ascendc.h 仅前向声明 NpuArch,实际枚举值由 platform/soc_spec.h 定义。本次补充该头文件,保留官方 NpuArch::DAV_3510 判断,避免使用 CANN 版本号或手写架构码。 ## 关联的Issue [#3356](https://gitcode.com/cann/ops-nn/issues/3356) ## 测试 - 执行 git diff --check,检查通过。 - 使用 CANN 8.5.2 执行 bash build.sh --ophost -j8,编译通过。 - 使用 CANN 8.5.2 执行 bash build.sh --soc=ascend910_93 --ops=group_norm_swish_grad --pkg,编译和打包通过。 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6118 | 2 个月前 | |
foreach/lamb/scatter类算子资料及原型整改,以及示例补齐 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6065 merge master into master foreach/lamb/scatter类算子资料及原型整改,以及示例补齐 Created-by: zl_hw Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 foreach/Lamb/scatter类长尾算子资料规范、license规范和原型说明注释规范等补充 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 ut/st 全部OBP和David冒烟已通过 ## 文档更新 所有算子README.md和op_list.md以及aclnn_op_list.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6065 | 2 个月前 | |
doc(adaptive_avg_pool2d_backward): remove empty tensor error description Co-authored-by: qq_52056150<wangshuo179@huawei.com> # message auto-generated for no-merge-commit merge: !6100 merge doc/fix_adaptive_avg_pool2d_backward_empty into master doc(adaptive_avg_pool2d_backward): remove empty tensor error description Created-by: qq_52056150 Commit-by: qq_52056150 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6100 | 2 个月前 | |
add swiglu_group_quant ascend950 Co-authored-by: taochangmin<taochangmin@huawei.com> # message auto-generated for no-merge-commit merge: !5882 merge master into master add swiglu_group_quant ascend950 Created-by: taochangmin Commit-by: taochangmin Merged-by: cann-robot Description: ## 描述 新增swiglu_group_quant算子ascend950实现 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已通过UT、ST测试,泛化测试通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了docs/zh/op_api_list.md、docs/zh/op_list.md文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5882 | 2 个月前 | |
修复md中空格 Co-authored-by: wuyao51511<wuyao61@h-partners.com> # message auto-generated for no-merge-commit merge: !6074 merge master into master 修复md中空格 Created-by: wuyao51511 Commit-by: wuyao51511 Merged-by: cann-robot Description: ## 描述 文档空格问题清理 ## 关联的Issue https://atomgit.com/cann/ops-nn/issues/3345 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 更新了 quick_install.md aclnnExpandIntoJaggedPermute.md aclnnQuantMatmulDequant.md aclnnLstmBackward.md examples/fast_kernel_launch_example/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6074 | 2 个月前 | |
回退--check功能 Co-authored-by: chenbinbin199309<chenbinbin20@huawei.com> # message auto-generated for no-merge-commit merge: !6080 merge fix/dash-heredoc-compat into master 回退--check功能 Created-by: chenbinbin199309 Commit-by: chenbinbin199309 Merged-by: cann-robot Description: ## 描述 回退--check功能 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 编包验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6080 | 2 个月前 | |
【FIX】QuantBatchMatmulV3 基于编译期 asc-devkit 版本判断 Tensor API 能力导致运行时包不匹配的问题 Co-authored-by: YaQ1an9<1185365215@qq.com> # message auto-generated for no-merge-commit merge: !5927 merge codex/runtime-asc-devkit-version into master 【FIX】QuantBatchMatmulV3 基于编译期 asc-devkit 版本判断 Tensor API 能力导致运行时包不匹配的问题 Created-by: Hu1L1 Commit-by: YaQ1an9 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 将 QuantBatchMatmulV3 的 Tensor API 能力判断从编译期 asc-devkit 版本宏切换为运行时 CANN runtime 版本判断。 原逻辑依赖 ASC_DEVKIT_MAJOR/ASC_DEVKIT_MINOR: cpp (ASC_DEVKIT_MAJOR >= 9) && (ASC_DEVKIT_MINOR > 0) 该判断只能反映编译环境版本,不能保证与实际运行时 CANN 包一致。为避免编译包和运行包不一致时走错 Tensor API 路径,本 PR 改为调用: aclsysGetVersionNum("runtime", &versionNum) 并以 versionNum >= 90100000 判断是否支持 Tensor API 相关路径。获取版本失败时保守返回 false。 ` 同时补充: host 侧 ophost 动态库链接 acl_rt; op_host UT 链接 acl_rt; UT 复用 host util 中的 IsTensorapiCapable(),避免测试侧重复维护编译期判断逻辑。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3269 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已进行代码检查: 确认 aclsysGetVersionNum 符号由 libacl_rt.so 导出; 确认 host .so 和 op_host UT 均已补充 acl_rt 链接依赖; 确认 QuantBatchMatmulV3 host util 和 UT 均使用运行时版本判断逻辑。 二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及资料修改 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5927 | 2 个月前 | |
批量修改md中冗余空格 Co-authored-by: wuyao51511<wuyao61@h-partners.com> # message auto-generated for no-merge-commit merge: !6027 merge master into master 批量修改md中冗余空格 Created-by: wuyao51511 Commit-by: wuyao51511 Merged-by: cann-robot Description: ## 描述 文档空格问题清理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6027 | 2 个月前 | |
修改clang format Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !4385 merge master into master 修改clang format Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改clang-format 规划 1、枚举的{ 跟enum 同行 2、string开头不强制换行 3、短函数实现允许同行 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4385 | 4 个月前 | |
index kernel ut Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !5501 merge master into master index kernel ut Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Kernel UT 中存在大量分散的测试数据准备代码,使用 system() 调用执行 shell 命令: 重复样板代码多:至少 131 个文件包含 system() 调用 依赖 GNU/Linux 工具:cp、chmod、rm、get_current_dir_name(非跨平台) 错误定位困难:system() 返回码粗糙,无法区分路径错误、权限问题、Python缺失等 维护成本高:同一套逻辑散落在大量算子测试中 修改方案 统一测试数据生命周期管理:拷贝、清理、生成、比对 改善报错体验:使用项目标准日志宏 OP_LOGI/OP_LOGE,区分路径错误、脚本执行失败等 降低贡献门槛:开发者只需声明数据目录和参数 本次修改对index 目录下的部分算子 迁移过程中 代码格式做整改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2337 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5501 | 3 个月前 | |
index kernel ut Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !5501 merge master into master index kernel ut Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Kernel UT 中存在大量分散的测试数据准备代码,使用 system() 调用执行 shell 命令: 重复样板代码多:至少 131 个文件包含 system() 调用 依赖 GNU/Linux 工具:cp、chmod、rm、get_current_dir_name(非跨平台) 错误定位困难:system() 返回码粗糙,无法区分路径错误、权限问题、Python缺失等 维护成本高:同一套逻辑散落在大量算子测试中 修改方案 统一测试数据生命周期管理:拷贝、清理、生成、比对 改善报错体验:使用项目标准日志宏 OP_LOGI/OP_LOGE,区分路径错误、脚本执行失败等 降低贡献门槛:开发者只需声明数据目录和参数 本次修改对index 目录下的部分算子 迁移过程中 代码格式做整改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2337 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5501 | 3 个月前 | |
批量修改md中冗余空格 Co-authored-by: wuyao51511<wuyao61@h-partners.com> # message auto-generated for no-merge-commit merge: !6027 merge master into master 批量修改md中冗余空格 Created-by: wuyao51511 Commit-by: wuyao51511 Merged-by: cann-robot Description: ## 描述 文档空格问题清理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6027 | 2 个月前 | |
ccache option Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !6146 merge master into master ccache option Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 构建增加ccache 参数控制,支持编译时禁用ccache, 构建时灵活选择缓存方式 ccache=VALUE "Enable or disable ccache compilation acceleration, VALUE options: on/off/true/false/disable, Default: on" Example: --ccache=off to disable ccache ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3363 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 测试点清单 测试 1: 默认行为(不传参数) bash build.sh --ophost 预期: - CMake 日志显示 Enable ccache ON 或 TRUE - 如果系统有 ccache,编译使用 ccache 加速 测试 2: 禁用 ccache - 使用 off bash build.sh --ophost --ccache=off 预期: - CMake 日志显示 Enable ccache FALSE - CMakeLists.txt 中 find_program(CCACHE_PROGRAM ccache) 不执行 - 编译不使用 ccache 测试 3: 禁用 ccache - 使用 false bash build.sh --ophost --ccache=false 预期: 同测试 2 测试 4: 禁用 ccache - 使用 disable bash build.sh --ophost --ccache=disable 预期: 同测试 2 测试 5: 验证 CMakeCache.txt bash build.sh --ophost --ccache=off grep ENABLE_CCACHE build/CMakeCache.txt 预期输出: ENABLE_CCACHE:BOOL=FALSE 测试 6: 验证 cmake_init() 参数传递 bash build.sh --pkg --soc=ascend910b --ccache=off 验证点: 查看 cmake_init() 执行时的日志输出,确认 -DENABLE_CCACHE=FALSE 参数已传递 测试 7: 其他编译模式 ### 测试各种编译模式 bash build.sh --pkg --soc=ascend910b --ccache=off bash build.sh --opkernel --soc=ascend910b --ccache=off bash build.sh --opapi --ccache=off bash build.sh -u --ccache=off 预期: 所有模式都正确传递 ENABLE_CCACHE 参数 测试 8: 参数无效值处理 bash build.sh --ophost --ccache=invalid_value 预期: - ENABLE_CCACHE 保持默认值 TRUE - CMake 日志显示 Enable ccache ON ccache -s 统计ccache命中情况 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6146 | 2 个月前 | |
批量修改md中冗余空格 Co-authored-by: wuyao51511<wuyao61@h-partners.com> # message auto-generated for no-merge-commit merge: !6027 merge master into master 批量修改md中冗余空格 Created-by: wuyao51511 Commit-by: wuyao51511 Merged-by: cann-robot Description: ## 描述 文档空格问题清理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6027 | 2 个月前 | |
init | 11 个月前 | |
index kernel ut Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !5501 merge master into master index kernel ut Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Kernel UT 中存在大量分散的测试数据准备代码,使用 system() 调用执行 shell 命令: 重复样板代码多:至少 131 个文件包含 system() 调用 依赖 GNU/Linux 工具:cp、chmod、rm、get_current_dir_name(非跨平台) 错误定位困难:system() 返回码粗糙,无法区分路径错误、权限问题、Python缺失等 维护成本高:同一套逻辑散落在大量算子测试中 修改方案 统一测试数据生命周期管理:拷贝、清理、生成、比对 改善报错体验:使用项目标准日志宏 OP_LOGI/OP_LOGE,区分路径错误、脚本执行失败等 降低贡献门槛:开发者只需声明数据目录和参数 本次修改对index 目录下的部分算子 迁移过程中 代码格式做整改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2337 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5501 | 3 个月前 | |
fix doc issues Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5608 merge master into master fix doc issues Created-by: gitcode-chenjiao Commit-by: chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ①优化环境安装,CANN安装指南入口统一为快速安装 ②Docker环境的版本示例刷新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [2489](https://gitcode.com/cann/ops-nn/issues/2489) [2842](https://gitcode.com/cann/ops-nn/issues/2842) [2678](https://gitcode.com/cann/ops-nn/issues/2678) [3070](https://gitcode.com/cann/ops-nn/issues/3070) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> README.md、qucik_install.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5608 | 3 个月前 | |
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 个月前 | |
fix Third_Party_Open_Source_Software_List.yaml Co-authored-by: liuyufan0725<liuyufan9@huawei.com> # message auto-generated for no-merge-commit merge: !1879 merge fix_yaml into master fix Third_Party_Open_Source_Software_List.yaml Created-by: liuyufan0725 Commit-by: liuyufan0725 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新三方依赖清单Third_Party_Open_Source_Software_List.yaml 1、增加protobuf 2、将nlohmann/json修改为json ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#1042](https://gitcode.com/cann/ops-nn/issues/1042) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了Third_Party_Open_Source_Software_List.yaml ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1879 | 6 个月前 | |
【描 述】 eigen update to 5.0.0 Co-authored-by: j00427146<jialimin1@huawei.com> # message auto-generated for no-merge-commit merge: !1152 merge master into master 【描 述】 eigen update to 5.0.0 Created-by: jialimin1 Commit-by: j00427146 Merged-by: cann-robot Description: ## 描述 现开源软件eigen 3.4.0 EOM,Eigen 从3.4.0版本升级到5.0.0,解决生命周期问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-nn/issues/975 https://gitcode.com/cann/ops-nn/issues/389 ## 测试   ## 文档更新 SECURITY.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:Update Eigen to 5.0.0 See merge request: cann/ops-nn!1152 | 6 个月前 | |
ccache option Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !6146 merge master into master ccache option Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 构建增加ccache 参数控制,支持编译时禁用ccache, 构建时灵活选择缓存方式 ccache=VALUE "Enable or disable ccache compilation acceleration, VALUE options: on/off/true/false/disable, Default: on" Example: --ccache=off to disable ccache ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3363 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 测试点清单 测试 1: 默认行为(不传参数) bash build.sh --ophost 预期: - CMake 日志显示 Enable ccache ON 或 TRUE - 如果系统有 ccache,编译使用 ccache 加速 测试 2: 禁用 ccache - 使用 off bash build.sh --ophost --ccache=off 预期: - CMake 日志显示 Enable ccache FALSE - CMakeLists.txt 中 find_program(CCACHE_PROGRAM ccache) 不执行 - 编译不使用 ccache 测试 3: 禁用 ccache - 使用 false bash build.sh --ophost --ccache=false 预期: 同测试 2 测试 4: 禁用 ccache - 使用 disable bash build.sh --ophost --ccache=disable 预期: 同测试 2 测试 5: 验证 CMakeCache.txt bash build.sh --ophost --ccache=off grep ENABLE_CCACHE build/CMakeCache.txt 预期输出: ENABLE_CCACHE:BOOL=FALSE 测试 6: 验证 cmake_init() 参数传递 bash build.sh --pkg --soc=ascend910b --ccache=off 验证点: 查看 cmake_init() 执行时的日志输出,确认 -DENABLE_CCACHE=FALSE 参数已传递 测试 7: 其他编译模式 ### 测试各种编译模式 bash build.sh --pkg --soc=ascend910b --ccache=off bash build.sh --opkernel --soc=ascend910b --ccache=off bash build.sh --opapi --ccache=off bash build.sh -u --ccache=off 预期: 所有模式都正确传递 ENABLE_CCACHE 参数 测试 8: 参数无效值处理 bash build.sh --ophost --ccache=invalid_value 预期: - ENABLE_CCACHE 保持默认值 TRUE - CMake 日志显示 Enable ccache ON ccache -s 统计ccache命中情况 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6146 | 2 个月前 | |
add cmakelist to classify_rule Co-authored-by: lu-yukun<luyukun4@h-partners.com> # message auto-generated for no-merge-commit merge: !6057 merge br_classify into master add cmakelist to classify_rule Created-by: lu-yukun Commit-by: lu-yukun Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> add cmakelist to classify_rule ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3333 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6057 | 2 个月前 | |
批量修改md中冗余空格 Co-authored-by: wuyao51511<wuyao61@h-partners.com> # message auto-generated for no-merge-commit merge: !6027 merge master into master 批量修改md中冗余空格 Created-by: wuyao51511 Commit-by: wuyao51511 Merged-by: cann-robot Description: ## 描述 文档空格问题清理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6027 | 2 个月前 | |
fix(docs,deps,ut): 完善全量编译说明、Debian GCC 安装与 UT 状态码兼容 Co-authored-by: root<yangyang306@hisilicon.com> # message auto-generated for no-merge-commit merge: !5110 merge master into master fix(docs,deps,ut): 完善全量编译说明、Debian GCC 安装与 UT 状态码兼容 Created-by: yangyang016 Commit-by: root Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 修复社区体验测试中反馈的三类问题:文档缺少全量编译指引、Debian 系发行版依赖安装失败、以及 UT 公共头文件中 ACLNN_SUCCESS 未定义导致 nn_op_host_ut 编译失败。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> - Fixes #2790 — 文档缺少全量编译指导与耗时说明 - Fixes #2793 — install_deps.sh 在 Debian 13 等系统硬编码 gcc-9 导致安装失败 - Fixes #2794 — ut_string_utils.h 使用未定义的 ACLNN_SUCCESS 导致 UT 编译失败 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - [x] bash -n install_deps.sh 语法检查通过 - [x] 在无 ACLNN_SUCCESS 宏的 mock 头文件下对 ut_string_utils.h 做语法检查通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - **docs/QUICKSTART.md**:明确快速入门默认采用**单算子编译**(--ops),并引导需要整库构建时查阅 docs/zh/install/compile.md。 - **docs/zh/install/compile.md**:在「ops-nn包」章节增加全量编译说明:耗时与机器配置、-j 并行度及联网依赖相关;建议日常开发优先单算子编译。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5110 | 3 个月前 | |
[Docs] modify profile of quick_install Co-authored-by: wangzitao_leo<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !4156 merge profile_0423 into master [Docs] modify profile of quick_install Created-by: wangzitao_leo Commit-by: wangzitao_leo Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新资料中: 1. --help时新增打印--soc支持的硬件平台; 2. quick_install指导资料中对于第三方依赖的安装资料调整,使得条理更加清晰,资料更为易用。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> Issue [#2274](https://gitcode.com/cann/ops-nn/issues/2274) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 1. 根据资料安装第三方依赖 2. bash build.sh --help时打印--soc支持硬件平台列表 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 1. README.md 2. docs/zh/install/compile.md 3. docs/zh/install/quick_install.md 4. requirements.txt ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4156 | 4 个月前 | |
Remove the dependency asc-tool Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !5220 merge eng into master Remove the dependency asc-tool Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 Remove the dependency asc-tool ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 工程编译验证 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5220 | 3 个月前 |
ops-nn
🔥Latest News
- [2026/03] 开源算子支持下一代芯片:Ascend950PR(!450)。
- [2026/03] 新增<<<>>>的算子开发样例(!620)。
- [2026/03] 低bit类算子和融合算子支持更多数据类型:fp8/mxfp8/hifp8/mxfp4等,并支持pertensor/perchannel/pertoken/pergroup/perblock等不同量化和组合方式:全量化融合算子:quant_batch_matmul_v4,伪量化融合算子:weight_quant_batch_matmul_v2。
- [2026/03] 支持SIMD/SIMT新同构编程算子实现:[MapIndex](#660),[ScatterSub](#710)。
- [2026/01] 新增QuickStart,指导新手零基础入门算子项目部署(支持Docker环境)、算子开发和贡献流程。
- [2025/12] 开源算子支持Ascend 950PR/Ascend 950DT/KirinX90,可以通过CANN Simulator仿真工具开发调试;优化指南类文档,聚焦算子开发指南,明确最小交付件和关键示例代码,针对Ascend/samples仓算子提供迁移本项目的指导;新支持稀疏4:2量化matmul算子,针对稀疏矩阵开启硬件加速能力。
- [2025/11] 新支持算子index_fill、masked_scatter、scatter、tf_scatter_add、fused_cross_entropy_loss_with_max_sum。
- [2025/10] 新增experimental目录,完善贡献指南,支持开发者调试并贡献自定义算子。
- [2025/09] ops-nn项目首次上线,开源算子支持Atlas A2/A3系列产品。
🚀概述
ops-nn是CANN(Compute Architecture for Neural Networks)算子库中提供神经网络计算能力的高阶算子库,包括matmul类、activation类等算子,算子库架构图如下:

📌版本配套
本项目源码会跟随CANN软件版本发布,关于CANN软件版本与本项目标签的对应关系请参阅release仓库中的相应版本说明。 请注意,为确保您的源码定制开发顺利进行,请选择配套的CANN版本与Gitcode标签源码,使用master分支可能存在版本不匹配的风险。
🛠️环境准备
环境部署是体验本项目能力的前提,请先完成NPU驱动、CANN包安装等,确保环境正常。
⬇️源码下载
环境准备好后,下载与CANN版本配套的分支源码,通用命令如下,${tag_version}替换为分支标签名。以9.0.0分支源码下载为例:
# 通用命令:git clone -b ${tag_version} https://gitcode.com/cann/ops-nn.git
git clone -b 9.0.0 https://gitcode.com/cann/ops-nn.git
说明:若环境中已存在配套分支源码,可跳过本步骤,例如CANNLab默认已提供最新商发版CANN对应的源码。
📖学习教程
💬相关信息
PS:本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。