| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[Requirement|需求建议]: 【社区任务】Relu算子新增INT16数据类型支持 Co-authored-by: cxj01<1214136456@qq.com> # message auto-generated for no-merge-commit merge: !6387 merge master into master [Requirement|需求建议]: 【社区任务】Relu算子新增INT16数据类型支持 Created-by: cxj01 Commit-by: cxj01 Merged-by: cann-robot Description: ## 描述 # Relu算子设计文档 # 一、需求背景 ## 1.1 需求来源 参考昇腾版本内置aclnnRelu算子的TBE实现,在昇腾NPU上基于Ascend C编程语言实现功能一致的算子,并扩展支持int16数据类型。 ## 1.2 背景介绍 ### 1.2.1 Relu算子实现优化 ReLU(Rectified Linear Unit)数学表达式: $$ \text{ReLU}(x) = \max(0, x) = \begin{cases} x, & x > 0 \\ 0, & x \leq 0 \end{cases} $$ ### 1.2.2 Relu算子现状分析 #### 1.2.2.1 TBE算子支持的数据类型 - **支持数据类型**: FLOAT、FLOAT16、INT8、INT32、INT64、BFLOAT16 - **Shape限制**:0 到 8维 #### 1.2.2.2 TBE算子实现描述 TBE算子核心逻辑(路径:/usr/local/Ascend/ascend-toolkit/latest/opp/built-in/op_impl/ai_core/tbe/impl/ops_legacy/relu.py): TBE ReLU 是逐元素单输入单输出算子,无广播、归约及跨元素依赖,实现流程如下: 参数校验:通过para_check校验输入、输出、kernel_name 合法性,同时校验输入数据类型是否在白名单(float16/float32/int8/int32/bfloat16/int64)内; 动态 Shape 分类:按逐元素模式对动态 shape 输入分类; 张量构造:获取动态 shape,用tvm.placeholder构建输入张量; 核心计算分支: 特殊场景:res_conv2d/dequant_remove_pad输入 + 平台支持tik.vcopy+ 非 int64 → 调用tbe.vlrelu(x, 0); 类型适配计算: int8 + 平台支持s82f16:先转 float16 计算,结果转回 int8; bfloat16:先转 float32 计算,结果经tbe.round转回 bfloat16; 常规场景:平台支持对应 dtype 的tbe.vrelu→直接调用;否则构造全 0 张量,用tbe.vmax(x, 0)实现; 编译生成:自动生成调度,编译输出可执行 kernel。 **TBE算子实现策略** | 实现路径 | 适用条件 | 说明 | |---------|---------|------| | vlrelu(x, 0) | 支持vcopy且输入来自res_conv2d | 专用leaky relu优化 | | vrelu(x) | 支持vrelu指令的数据类型 | 硬件原生relu指令 | | vmax(x, 0) | 不支持vrelu的数据类型 | 通用实现:与0取最大值 | #### 1.2.2.3 TBE算子实现流程图 .png') # 二、需求分析 ## 2.1 外部组件依赖 不涉及外部组件依赖。 ## 2.2 内部适配模块 适配Aclnn接口,支持常规调用和原位调用两种模式。 ## 2.3 需求模块设计 ### 2.3.1 AscendC算子原型 | 参数名 | 输入/输出 | 数据类型 | 数据格式 | 维度 | 非连续Tensor | |--------|----------|---------|---------|------|---------------| | self | 输入 | FLOAT、FLOAT16、INT8、INT16、INT32、INT64、BFLOAT16 | ND | 0-8 | √ | | out | 输出 | FLOAT、FLOAT16、INT8、INT16、INT32、INT64、BFLOAT16 | ND | 0-8 | √ | ### 2.3.2 AscendC算子相关约束 - 支持空Tensor(shape需与out一致) - 输入输出shape必须相同 - 最大支持8维张量 - 支持原位计算模式(y = x) - 支持非连续Tensor # 三、需求详细设计 ## 3.1 使能方式 | 上层框架 | 支持 | |---------|------| | Aclnn直调 | √ | ## 3.2 需求总体设计 ### 3.2.1 host侧设计 #### 3.2.1.1 分核策略 - **INT64类型**:使用所有可用Core - **其他类型**:根据总数据量决定,按16KB阈值分配,最多使用coreNum个Core - **任务分配**:前formerNum个Core处理formerLength,最后一个Core处理tailLength #### 3.2.1.2 数据分块和内存优化策略 - **UB容量适配**:根据数据类型计算bufferCoefficient - FP32:8(双缓冲:2×4字节) - FP16/INT8:4(数据量小) - BF16/INT16:12(需转FP32中间类型) - INT64:32(CompareScalar向量化) - **内存对齐**:按32字节对齐tile大小,Cache Line对齐(512字节)分配Core任务 #### 3.2.1.3 tilingKey规划策略 将tiling参数(formerNum、formerLength、tailLength、tileLength)封装到ReluTilingData结构体中。 ### 3.2.2 kernel侧设计 #### 3.2.2.1 kernel侧实现描述 Relu算子kernel侧采用模板化设计,针对不同数据类型实现3种Kernel类: 1. **KernelRelu<T>**:用于FP32、FP16、INT32,直接使用原生Relu指令 2. **KernelReluUpcast<T, MidT>**:用于BF16、INT16(MidT=float)、INT8(MidT=half),通过类型提升计算 3. **KernelReluVectorInt64<T>**:用于INT64,任意INT64整数 x = (high_32 << 32) | low_32,其符号仅由 high_32 的最高位决定: ReLU(x) = x, 若 high_32 的 bit15 == 0(正数或零) 0, 若 high_32 的 bit15 == 1(负数) 所有Kernel类共享基类KernelReluBase,实现通用的数据搬运和流程控制。 #### 3.2.2.2 AscendC实现流程图 .png') int64子流程: .png') #### 3.2.2.3 AscendC实现流程图与TBE流程图存在的差异点和原因 | 差异点 | TBE实现 | AscendC实现 | 原因 | |--------|---------|-------------|------| | 数据类型支持 | FP16/FP32/INT8/INT32/BF16/INT64 | 扩展支持INT16 | AscendC灵活性更高 | | INT8处理 | Cast到Float16 | Cast到Half | 策略一致,类型名称不同 | | 计算指令 | vrelu/vmax/vlrelu | Relu/CompareScalar+Select | AscendC API差异 | ## 3.3 支持硬件 | 芯片版本 | 支持 | |---------|------| | Atlas 800I/T A2 | √ | | Atlas 910B | √ | | Atlas A3系列 | √ | ## 3.4 算子约束限制 - 输入输出shape必须相同(无广播) - 输入输出数据类型必须相同 - 最大支持8维张量 - INT64类型使用向量化计算,性能较其他类型略低 - 所有核参与场景下,性能不低于TBE算子的95% # 四、特性交叉分析 本算子为独立激活函数算子,不涉及与其他算子的特性交叉。 # 五、可维可测分析 ## 5.1 精度标准/性能标准 **精度标准**: - 浮点类型:误差在硬件允许范围内,满足AscendOpTest默认阈值 - 整型类型:结果必须完全一致 - 对比基准:以TBE算子输出为基准 **性能标准**: - 所有核参与计算场景下,性能不低于TBE算子的95% - 小shape场景(10us以下)相差3us可接受 ## 5.2 兼容性分析 - **向后兼容**:完全兼容TBE算子已支持的数据类型和格式 - **扩展支持**:INT16类型 - **调用模式**:支持常规计算和原位计算(aclnnInplaceRelu) ## 关联的Issue 关联Issue [#3495](https://gitcode.com/cann/ops-nn/issues/3495) ## 测试 进行AscendOpTest测试。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6387 | 22 天前 | |
修改测试问题 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !7987 merge master into master 修改测试问题 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 修改TorchNPU改名 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7987 | 1 个月前 | |
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 | 8 个月前 | |
将 experimental 下误用的 arch32 修正为 arch22 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !8954 merge arch32-fix-pooling into master 将 experimental 下误用的 arch32 修正为 arch22 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将experimental目录下误用arch32的算子目录、文件名及代码引用统一修正为 arch22 ## 关联的Issue Issue #4931 ## 测试 本地ut通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8954 | 22 天前 | |
修复index_fill误用arch32目录 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !9054 merge arch32-fix-exp-index into master 修复index_fill误用arch32目录 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将index_fill算子中误用arch32的目录及代码引用统一修正为arch22,与ascend910_93/ascend910b对应arch22的架构目录约定保持一致. ## 关联的Issue Issue #4931 ## 测试 - 算子编译及ut通过 - rg检索arch32(含Arch32/ARCH32)无残留 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!9054 | 19 天前 | |
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 | 22 天前 | |
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 | 22 天前 | |
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 | 22 天前 | |
【CANN开源开放社区任务】【社区任务】AscendC实现ApplyAdamW算子贡献 Co-authored-by: StarLightOn<594406837@qq.com> # message auto-generated for no-merge-commit merge: !8168 merge submit-apply_adam_w into master 【CANN开源开放社区任务】【社区任务】AscendC实现ApplyAdamW算子贡献 Created-by: StarLightOn Commit-by: StarLightOn Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 【社区任务】ApplyAdamW算子AscendC贡献 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#4492](https://gitcode.com/cann/ops-nn/issues/4492) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8168 | 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 | 22 天前 | |
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 | 22 天前 | |
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 | 8 个月前 | |
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 | 8 个月前 |