| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
产品文档中png文件改为英文名 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !8300 merge master into master 产品文档中png文件改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 产品文档中的png图片名由中文改为英文 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#4260](https://gitcode.com/cann/ops-nn/issues/4260) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> png和相关的link md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8300 | 2 个月前 | |
cannsim改名为npusim Co-authored-by: liangbinglong<liangbinglong@huawei.com> # message auto-generated for no-merge-commit merge: !8349 merge master into master cannsim改名为npusim Created-by: liangbinglong Commit-by: liangbinglong Merged-by: cann-robot Description: ## 描述 经TSC评审,cannsim工具正式更名为npusim,相关命令行、资料同步刷新,cannsim作为别名兼容一段时间,需要尽快切换 ## 关联的Issue NA ## 测试 使用最新链接版本测试,相关命令行已经全部更名为npusim ## 文档更新 更新doc下面的调优部分文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8349 | 2 个月前 | |
flat_quant切tensorApi Co-authored-by: wuyufei<wuyufei13@huawei.com> # message auto-generated for no-merge-commit merge: !8477 merge master into master flat_quant切tensorApi Created-by: wuyufei Commit-by: wuyufei Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次 PR 将 flat_quant 算子中 TILING_KEY 为 6 的分支从原有的 Cmct 后端实现切换为基于 Blaze 框架和 Tensor API 的新实现。新增了 flat_quant_blaze.h 头文件,定义模板函数 FlatQuantBlazeKernel,统一封装 Blaze GEMM 的 BlockMmad、BlockScheduler 和 Epilogue 等组件;同时在 flat_quant_apt.cpp 中将 include 和调用从 FlatQuantCmctKernel 替换为 FlatQuantBlazeKernel,并移除了对 Cmct 命名空间的依赖。 同时存在算子目录整改,由ops-nn/quant -> ops-nn/matmul ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5094 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8477 | 1 个月前 | |
产品文档中png文件改为英文名 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !8300 merge master into master 产品文档中png文件改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 产品文档中的png图片名由中文改为英文 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#4260](https://gitcode.com/cann/ops-nn/issues/4260) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> png和相关的link md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8300 | 2 个月前 | |
quick_install.md Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !9090 merge master into master quick_install.md Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 精简快速安装文档中 master 版本的安装步骤,将原先冗长的驱动安装、toolkit 包/ops 包下载与安装命令等细节移除,统一引导用户参考《CANN快速安装》官方页面选择 Weekly 版本完成安装;同时将"场景2"中"选择版本"措辞明确为"选择稳定版本",避免版本选择歧义。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5077 ## 测试 文档变更,无需测试。 ## 文档更新 docs/zh/install/quick_install.md: - 场景1:删除驱动安装三步骤及 toolkit/ops 包安装命令与变量说明(共删除33行),替换为一句官方页面指引。 - 场景2:措辞由"选择版本"改为"选择稳定版本"。 ## 类型标签 文档更新 ## AI/Agent生成声明 AI辅助编写 See merge request: cann/ops-nn!9090 | 1 个月前 | |
md大模型检测低错修复 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !9420 merge master into master md大模型检测低错修复 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> md aidd大模型检测低错修复 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5254 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> acl*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9420 | 1 个月前 | |
QuantMatmulActivationQuant支持fp4 Co-authored-by: yuechenyao_huawei<yuechenyao@h-partners.com> # message auto-generated for no-merge-commit merge: !8789 merge merge_add_fp4 into master QuantMatmulActivationQuant支持fp4 Created-by: yuechenyao_huawei Commit-by: yuechenyao_huawei Merged-by: cann-robot Description: ## 描述 1.1 需求背景和描述 Transformer 里最经典的 FFN 结构:  本融合算子需要再FFN结构里面支持一个融合算子(下面蓝色部分):  即QuantMatmul+Gelu+DynamicMxQuant(或者DynamicHif4Quant)融合成一个独立的算子。 将FNN计算过程中的QBMM、GELU、DynamicmxQuant三个单算子,融合合成一个算子,提升模型的推理性能。  2 约束和周边影响评估 2.1 支持芯片型号 | 产品 |是否支持 | |--|--| | 昇腾910_95 AI处理器 |√ | 3 算子功能及定义 3.1 算子功能 - 不涉及反向测试 3.2 接口定义 aclnn接口定义: aclnnStatus QuantMatmulActivationQuantWeightNzGetWorkspaceSize( const aclTensor *x1, const aclTensor *x2, const aclTensor *x1ScaleOptional, const aclTensor *x2Scale, const aclTensor *biasOptional, bool transposeX1, bool transposeX2, int64_t groupSize char *activationType, char *quantMode, char *roundMode, int64_t scaleAlg, double dstTypeMax, const aclTensor *yOut, const aclTensor *yScaleOut, uint64_t *workspaceSize, aclOpExecutor **executor); aclnnStatus QuantMatmulActivationQuantWeightNz( void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, aclrtStream stream); aclnnStatus QuantMatmulActivationQuantGetWorkspaceSize( const aclTensor *x1, const aclTensor *x2, const aclTensor *x1ScaleOptional, const aclTensor *x2Scale, const aclTensor *biasOptional, bool transposeX1, bool transposeX2, int64_t groupSize char *activationType, char *quantMode, char *roundMode, int64_t scaleAlg, double dstTypeMax, const aclTensor *yOut, const aclTensor *yScaleOut, uint64_t *workspaceSize, aclOpExecutor **executor); aclnnStatus QuantMatmulActivationQuant( void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, aclrtStream stream); Aten 接口定义: func: quant_matmul_activation_quant( "Tensor x1, Tensor x2, *, Tensor? x1_scale=None, Tensor? x2_scale=None, Tensor? bias=None, " "int? x1_dtype=None, int? x2_dtype=None, int? x1scale_dtype=None, int? x2scale_dtype=None, " "bool? transpose_x1=None, bool? transpose_x2=None, int[]? group_sizes=None, str activation_type=\"gelu_tanh\", " "int? y_dtype=None, str quant_mode=\"mx\", str round_mode=\"rint\", int? scale_alg=0, float dst_type_max=0.0)" " -> (Tensor, Tensor)" 4 详细方案设计 4.1 计算逻辑 整体计算逻辑 算子核心逻辑包含矩阵乘法(Cube Core计算)与Vector计算。Matmul计算为qbmm,vector计算部分主要是gelu激活并进行mxdynamicquant输出得到量化的y与scale。  4.2 tiling方案 1)ASWT 实现ASWT(ASW Tiling)的切分的通用模板,针对weight较小场景的实现全载模板 将 MN 的输出空间划分为 baseMbaseN 的基本块(BasicBlock),以 4行窗口组(WINDOW_LEN=4)为调度单位,采用 S形走位(偶数行左到右,奇数行右到左)在多核间分配计算任务,最大化 L1/L2 缓存复用,并通过尾窗口重切分(TailTile)和边缘负载均衡(EdgeOptimize)实现近100%的核利用率按窗口(WINDOW_LEN=4)切分M,得到mCoreNum和mTailCoreNum,便于后期尾窗口重切分。  2) Full Load 对于输入可完整缓存在L1中的场景,可使用全载模板,在不同轮询中使输入始终驻留在L1中,从而减少整体搬运耗时。 4.3 kernel方案 //伪代码实现 single batch: for blockIdx in totalblock: if ASCEND_IS_AIC{ if (isSync) { WaitForVector(); } mmadOp_(gmBlockA, gmBlockB, gmBlockScaleA, gmBlockScaleB, gmBlockBias, locOutUb, singleShape); NotifyVector(); } isSync = true; if ASCEND_IS_AIV { WaitForCube(); epilogueOp_({baseM, baseN, 0, 0}, {mPos * n + nPos, mPos * CeilDiv(n, static_cast<int64_t>(32)) + CeilDiv(nPos, static_cast<int64_t>(32)), 0, 0, 0}); NotifyCube(); } 5.修复部分已知问题 5.1 拦截返回码与文档描述不一致 5.2 部分文档描述问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4887 https://gitcode.com/cann/ops-nn/issues/4965 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> op_api_list.md,menu_aclnn_api.md,quant_matmul_activation_quant/docs/aclnnQuantMatmulActivationQuant.md,quant_matmul_activation_quant/docs/aclnnQuantMatmulActivationQuantWeightNz.md,quant_matmul_activation_quant/docs/torchapi_quant_matmul_activation_quant.md,quant_matmul_activation_quant/README.md ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8789 | 1 个月前 | |
flat_quant切tensorApi Co-authored-by: wuyufei<wuyufei13@huawei.com> # message auto-generated for no-merge-commit merge: !8477 merge master into master flat_quant切tensorApi Created-by: wuyufei Commit-by: wuyufei Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次 PR 将 flat_quant 算子中 TILING_KEY 为 6 的分支从原有的 Cmct 后端实现切换为基于 Blaze 框架和 Tensor API 的新实现。新增了 flat_quant_blaze.h 头文件,定义模板函数 FlatQuantBlazeKernel,统一封装 Blaze GEMM 的 BlockMmad、BlockScheduler 和 Epilogue 等组件;同时在 flat_quant_apt.cpp 中将 include 和调用从 FlatQuantCmctKernel 替换为 FlatQuantBlazeKernel,并移除了对 Cmct 命名空间的依赖。 同时存在算子目录整改,由ops-nn/quant -> ops-nn/matmul ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5094 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8477 | 1 个月前 | |
QuantMatmulActivationQuant支持fp4 Co-authored-by: yuechenyao_huawei<yuechenyao@h-partners.com> # message auto-generated for no-merge-commit merge: !8789 merge merge_add_fp4 into master QuantMatmulActivationQuant支持fp4 Created-by: yuechenyao_huawei Commit-by: yuechenyao_huawei Merged-by: cann-robot Description: ## 描述 1.1 需求背景和描述 Transformer 里最经典的 FFN 结构:  本融合算子需要再FFN结构里面支持一个融合算子(下面蓝色部分):  即QuantMatmul+Gelu+DynamicMxQuant(或者DynamicHif4Quant)融合成一个独立的算子。 将FNN计算过程中的QBMM、GELU、DynamicmxQuant三个单算子,融合合成一个算子,提升模型的推理性能。  2 约束和周边影响评估 2.1 支持芯片型号 | 产品 |是否支持 | |--|--| | 昇腾910_95 AI处理器 |√ | 3 算子功能及定义 3.1 算子功能 - 不涉及反向测试 3.2 接口定义 aclnn接口定义: aclnnStatus QuantMatmulActivationQuantWeightNzGetWorkspaceSize( const aclTensor *x1, const aclTensor *x2, const aclTensor *x1ScaleOptional, const aclTensor *x2Scale, const aclTensor *biasOptional, bool transposeX1, bool transposeX2, int64_t groupSize char *activationType, char *quantMode, char *roundMode, int64_t scaleAlg, double dstTypeMax, const aclTensor *yOut, const aclTensor *yScaleOut, uint64_t *workspaceSize, aclOpExecutor **executor); aclnnStatus QuantMatmulActivationQuantWeightNz( void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, aclrtStream stream); aclnnStatus QuantMatmulActivationQuantGetWorkspaceSize( const aclTensor *x1, const aclTensor *x2, const aclTensor *x1ScaleOptional, const aclTensor *x2Scale, const aclTensor *biasOptional, bool transposeX1, bool transposeX2, int64_t groupSize char *activationType, char *quantMode, char *roundMode, int64_t scaleAlg, double dstTypeMax, const aclTensor *yOut, const aclTensor *yScaleOut, uint64_t *workspaceSize, aclOpExecutor **executor); aclnnStatus QuantMatmulActivationQuant( void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, aclrtStream stream); Aten 接口定义: func: quant_matmul_activation_quant( "Tensor x1, Tensor x2, *, Tensor? x1_scale=None, Tensor? x2_scale=None, Tensor? bias=None, " "int? x1_dtype=None, int? x2_dtype=None, int? x1scale_dtype=None, int? x2scale_dtype=None, " "bool? transpose_x1=None, bool? transpose_x2=None, int[]? group_sizes=None, str activation_type=\"gelu_tanh\", " "int? y_dtype=None, str quant_mode=\"mx\", str round_mode=\"rint\", int? scale_alg=0, float dst_type_max=0.0)" " -> (Tensor, Tensor)" 4 详细方案设计 4.1 计算逻辑 整体计算逻辑 算子核心逻辑包含矩阵乘法(Cube Core计算)与Vector计算。Matmul计算为qbmm,vector计算部分主要是gelu激活并进行mxdynamicquant输出得到量化的y与scale。  4.2 tiling方案 1)ASWT 实现ASWT(ASW Tiling)的切分的通用模板,针对weight较小场景的实现全载模板 将 MN 的输出空间划分为 baseMbaseN 的基本块(BasicBlock),以 4行窗口组(WINDOW_LEN=4)为调度单位,采用 S形走位(偶数行左到右,奇数行右到左)在多核间分配计算任务,最大化 L1/L2 缓存复用,并通过尾窗口重切分(TailTile)和边缘负载均衡(EdgeOptimize)实现近100%的核利用率按窗口(WINDOW_LEN=4)切分M,得到mCoreNum和mTailCoreNum,便于后期尾窗口重切分。  2) Full Load 对于输入可完整缓存在L1中的场景,可使用全载模板,在不同轮询中使输入始终驻留在L1中,从而减少整体搬运耗时。 4.3 kernel方案 //伪代码实现 single batch: for blockIdx in totalblock: if ASCEND_IS_AIC{ if (isSync) { WaitForVector(); } mmadOp_(gmBlockA, gmBlockB, gmBlockScaleA, gmBlockScaleB, gmBlockBias, locOutUb, singleShape); NotifyVector(); } isSync = true; if ASCEND_IS_AIV { WaitForCube(); epilogueOp_({baseM, baseN, 0, 0}, {mPos * n + nPos, mPos * CeilDiv(n, static_cast<int64_t>(32)) + CeilDiv(nPos, static_cast<int64_t>(32)), 0, 0, 0}); NotifyCube(); } 5.修复部分已知问题 5.1 拦截返回码与文档描述不一致 5.2 部分文档描述问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4887 https://gitcode.com/cann/ops-nn/issues/4965 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> op_api_list.md,menu_aclnn_api.md,quant_matmul_activation_quant/docs/aclnnQuantMatmulActivationQuant.md,quant_matmul_activation_quant/docs/aclnnQuantMatmulActivationQuantWeightNz.md,quant_matmul_activation_quant/docs/torchapi_quant_matmul_activation_quant.md,quant_matmul_activation_quant/README.md ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8789 | 1 个月前 | |
feat(segment_sum): 新增算子README.md及geir调用样例 Co-authored-by: zhang-wenbo-beat<zhangwenbo67@huawei.com> # message auto-generated for no-merge-commit merge: !9290 merge segment_sum_example into master feat(segment_sum): 新增算子README.md及geir调用样例 Created-by: zhang-wenbo-beat Commit-by: zhang-wenbo-beat Merged-by: cann-robot Description: ## 描述 本 PR 为 SegmentSum 算子补齐对外文档与可运行调用样例,便于用户理解算子语义并快速上手: - ** index/segment_sum/README.md**:新增算子使用文档,涵盖产品支持情况(仅 Ascend 950PR/950DT 支持)、功能说明(分段求和计算公式与示例)、参数说明(x / segment_ids / y 的数据类型与格式)、约束说明、以及调用方式索引。 - **index/segment_sum/examples/test_geir_segment_sum.cpp**:新增图模式(GEIR)调用样例,通过 ge::Session 构建并运行 SegmentSum 计算图,演示输入 x(shape {4,2},填充 2.0)与分段索引 segment_ids({0, 0, 1, 2})的构图、图编译与执行流程,并将输出落盘为 bin 文件用于验证。 改动原因:SegmentSum 算子此前缺少对外文档与可运行示例,本 PR 补齐这两部分,降低使用门槛。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5053 ## 测试 - **样例验证**:样例本身为图模式可运行用例,输入 x = {4,2} 全 2.0、segment_ids = {0, 0, 1, 2},按分段求和语义输出 y shape 为 {3,2}: - y[0] = x[0] + x[1] = [4, 4] - y[1] = x[2] = [2, 2] - y[2] = x[3] = [2, 2] ## 文档更新 - 新增 index/segment_sum/README.md:SegmentSum 算子说明文档。 - 新增 index/segment_sum/examples/test_geir_segment_sum.cpp:图模式调用样例。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9290 | 1 个月前 | |
flat_quant切tensorApi Co-authored-by: wuyufei<wuyufei13@huawei.com> # message auto-generated for no-merge-commit merge: !8477 merge master into master flat_quant切tensorApi Created-by: wuyufei Commit-by: wuyufei Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次 PR 将 flat_quant 算子中 TILING_KEY 为 6 的分支从原有的 Cmct 后端实现切换为基于 Blaze 框架和 Tensor API 的新实现。新增了 flat_quant_blaze.h 头文件,定义模板函数 FlatQuantBlazeKernel,统一封装 Blaze GEMM 的 BlockMmad、BlockScheduler 和 Epilogue 等组件;同时在 flat_quant_apt.cpp 中将 include 和调用从 FlatQuantCmctKernel 替换为 FlatQuantBlazeKernel,并移除了对 Cmct 命名空间的依赖。 同时存在算子目录整改,由ops-nn/quant -> ops-nn/matmul ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5094 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8477 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |