当前位置: 首页 > article >正文

CANN算子测试赛Add报告

【免费下载链接】cann-competitions本仓库用于 CANN 开源社区各类竞赛、开源课题、社区任务等课题发布、开发者作品提交和展示。项目地址: https://gitcode.com/cann/cann-competitions 元信息请如实填写此区块将由组委会脚本自动解析请保持字段名不变team_name: 蕉不绿队team_members:成员1姚杰涛-广州大学成员2张欢-广州大学成员3陈贝宁-广州大学operator_name: Addoperator_library: cann-ops-mathreport_date: 2026-04-25Add 算子最终测试结果报告本报告基于当前版本test_aclnn_add.cpp的执行结果以及 4 个评分文件对应的.gcov产物整理形成。与上一版报告相比这一版结论以本轮真实覆盖率为准重点说明当前测试已经打到的主路径、仍未进入的分支以及导致综合覆盖率下降的核心原因。一、结果概览本次实际统计的 4 个评分文件及覆盖率结果如下文件行数行覆盖率分支数分支覆盖率至少命中一次调用覆盖率math/add/op_api/add.cpp5589.09%26374.90%41.44%83.10%math/add/op_api/aclnn_add.cpp28871.53%158154.52%30.80%62.67%math/add/op_host/arch35/add_tiling_arch35.cpp930.00%1820.00%0.00%0.00%math/add/op_api/aclnn_add_v3.cpp7690.79%44064.55%37.50%73.20%按文件行数和分支数加权后本轮综合结果约为综合行覆盖率63.28%综合分支覆盖率54.46%综合“至少命中一次”分支比例30.86%综合调用覆盖率60.78%从结果可以直接看出add.cpp、aclnn_add.cpp、aclnn_add_v3.cpp三个op_api文件的覆盖率已经明显提升主流程、异常输入和部分边界路径已经进入。当前综合覆盖率被add_tiling_arch35.cpp的0.00%明显拉低。因此这一轮测试的主问题已经不再是op_api主路径完全没打到而是host tiling路径完全没有进入。二、结合.gcov的逐文件分析1.math/add/op_api/add.cpp该文件当前表现最好行覆盖率达到89.09%分支覆盖率达到74.90%。结合.gcov可见以下关键路径已经被覆盖Add的 broadcast 成功与失败路径均已进入。AiCore与AiCpu两条调度路径均被打到。mixed dtype 分支已经命中float16 float、float float16、bf16 float等输出转为float的逻辑被实际执行。l0op::Add的非法 broadcast 失败路径已进入。AddAiCore、AddAiCpu两个底层调度函数都已被执行。当前主要剩余缺口有DAV_3102对应的ASCEND610LITE_AICORE_DTYPE_SUPPORT_LIST分支未命中。IsAddSupportNonContiguous只有IsRegBase()false的返回路径未体现真正的非连续输入支持分支。AddInplace虽然进入了失败分支校验但.gcov显示成功调度到AddAiCore或AddAiCpu的路径并未命中说明当前更多是在测它的失败保护而不是成功执行。这说明add.cpp这一层的核心调度逻辑已经覆盖得比较充分但架构特定分支与L0 AddInplace成功路径仍有缺口。2.math/add/op_api/aclnn_add.cpp该文件当前行覆盖率71.53%分支覆盖率54.52%已经从“只打到少量主路径”提升到了“主路径 部分异常路径都进入”的状态。结合.gcov当前已经明确命中的内容包括CheckNotNull的多种空指针失败分支。CheckPromoteType中alpha可转换 / 不可转换、输出类型可转换 / 不可转换等路径。CheckInplace中 broadcast 推导、shape 检查成功与失败路径。aclnnAddGetWorkspaceSize主流程。aclnnAddsGetWorkspaceSize、aclnnInplaceAddGetWorkspaceSize、aclnnInplaceAddsGetWorkspaceSize等接口入口。alpha1直走Add、Axpy路径、MulAddfallback 路径都已经命中。bool、mixed dtype、空 tensor、非法 shape、非法 alpha 等测试都对该文件分支覆盖有直接贡献。.gcov同时也显示出当前还没有覆盖到的典型区域GetScalarDefaultDtypeInnerTypeToComplexTypeCombineCategoriesWithComplexGetCastedFloat这些函数全部是called 0说明当前复杂数相关、部分特殊 scalar 推导路径没有真正进入。另外.gcov还显示aclnnInplaceAdd运行接口本身未被执行。aclnnInplaceAdds运行接口本身未被执行。这说明当前测试更多打到了GetWorkspaceSize和参数校验入口但对应的最终执行封装函数并没有留下运行覆盖。也就是说Inplace系列“前半段”覆盖得不错“执行落地”这一小段还需要补。3.math/add/op_api/aclnn_add_v3.cpp该文件当前行覆盖率90.79%分支覆盖率64.55%是本轮覆盖最好的文件之一。结合.gcov可确认CheckNotNull、CheckShape、CheckParams的主要真/假分支已被覆盖。PromoteTypeScalar的多条推导路径被实际命中。alpha1直走Add、Axpy路径、MulAdd路径都已执行。空 tensor 快速返回路径已命中。promote - out不可转换、shape 不匹配、max dim exceeded、不支持 dtype 等失败路径已进入。AddV3的标量 tensor 主语义已经测透到了较深位置。当前明显未覆盖的点主要有aclnnInplaceAddV3运行接口called 0。promoteType DT_BOOL这类很窄的分支没有打到。promoteType DT_UNDEFINED的失败路径没有打到。因此aclnn_add_v3.cpp当前的状态可以判断为主功能、主要异常输入、主要类型约束都已经覆盖到位剩余缺口主要集中在非常窄的特殊类型分支和InplaceAddV3的最终执行封装。4.math/add/op_host/arch35/add_tiling_arch35.cpp这是本轮最关键的问题文件。当前结果是行覆盖率0.00%分支覆盖率0.00%调用覆盖率0.00%从.gcov可见该文件中所有关键函数均为called 0包括AddTiling::IsMixedDtypeAddTiling::CheckDtypeAddTiling::DoOpTilingTilingForAddTilingPrepareForAdd这说明本轮执行过程中host tiling路径完全没有进入。基于.gcov可以做出一个明确判断当前测试集虽然已经把op_api层覆盖得比较充分但没有驱动到arch35对应的 tiling 编译/解析/模板分发路径。因此上一版报告里关于add_tiling_arch35.cpp的高覆盖结论在本轮结果下已经不再成立最终报告必须以本轮0.00%为准。三、本轮测试内容能说明什么从test_aclnn_add.cpp当前用例内容看这一轮测试已经覆盖了以下几类核心场景1. 常规正确性路径float32 broadcast alpha!1int32 alpha2float16 float32float32 float16double alpha!1触发MulAdd路径alpha0的高维 broadcastbool特殊分支int8、uint8、int64边界值NaN / Inf特殊浮点值这些用例保证了 Add 的主数值语义已经不是空白覆盖。2. API 变体路径AddsInplaceAddInplaceAddsAddV3InplaceAddV3并且对其中相当一部分接口补了alpha1负 alphamixed dtypeout dtype cast空 tensor非 ND format因此当前op_api三个文件的覆盖提升是有真实用例支撑的不是靠少量“撞到主函数”得来的。3. 失败路径与边界路径当前测试还显式包含了大量失败场景例如nullptr 输入alpha为空非法 broadcastout shape 不匹配max dim exceededalpha不可转换promote - out不可转换AddV3不支持 dtypeL0 Add/L0 AddInplace非法输入这也是为什么当前aclnn_add.cpp和aclnn_add_v3.cpp的分支覆盖率能比上一版明显提高。五、结论Add 测试的真实状态可以概括为op_api层已经从“基础覆盖”进入到“主路径 异常路径都较充分”的阶段。add.cpp、aclnn_add.cpp、aclnn_add_v3.cpp的结果说明当前测试方案对 eager / op_api 层是有效的。最大短板已经不是普通 Add/Adds/AddV3 的数值正确性而是host tiling路径完全未进入。【免费下载链接】cann-competitions本仓库用于 CANN 开源社区各类竞赛、开源课题、社区任务等课题发布、开发者作品提交和展示。项目地址: https://gitcode.com/cann/cann-competitions创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN算子测试赛Add报告

【免费下载链接】cann-competitions 本仓库用于 CANN 开源社区各类竞赛、开源课题、社区任务等课题发布、开发者作品提交和展示。 项目地址: https://gitcode.com/cann/cann-competitions 元信息(请如实填写,此区块将由组委会脚本自动解析&#xf…...

别人写的代码看不懂,到底是谁的水平有问题

你突然看到某段代码用了工厂模式,第一反应可能是:有必要吗?直接new一个对象不行吗?干嘛「故意」增加阅读难度?其实不是这样的,当你接触过的高手多了后,你会自然而然的认为:高手的代码…...

AI光学硬件加速:1.2Tb/s高光谱视频实时理解平台架构与实践

1. 项目概述:当AI遇见光,一场关于“看见”的革命最近和几个做自动驾驶和工业质检的朋友聊天,大家不约而同地提到了一个痛点:传统的RGB摄像头,甚至多光谱设备,在面对一些复杂场景时,总感觉“力不…...

从代码生成到自主学习:构建AI编程智能体的核心架构与实践

1. 项目概述:一个学习编码的智能体最近在GitHub上看到一个挺有意思的项目,叫sanbuphy/learn-coding-agent。光看名字,你可能会觉得这又是一个“教你编程”的AI工具,市面上这类产品已经多如牛毛了。但当我深入探究其代码和设计理念…...

分布式追踪深度解析:解锁微服务架构的可观测性

分布式追踪深度解析:解锁微服务架构的可观测性 一、分布式追踪的概念与价值 1.1 分布式追踪的定义 分布式追踪是一种用于监控和分析分布式系统中请求流的技术。它通过在请求流经各个服务时记录跟踪信息,帮助开发者理解系统的行为、定位性能瓶颈和故障点。…...

3步搭建个人游戏串流服务器:Sunshine让你在任何设备畅玩3A大作

3步搭建个人游戏串流服务器:Sunshine让你在任何设备畅玩3A大作 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否曾希望用轻薄笔记本流畅运行最新的3A游戏大作&…...

追赶行业节奏!DeepSeek计划6月推V4.1,500亿融资加速商业化转型

据The Information报道,DeepSeek告知潜在投资者将提高模型发布频率,6月将推出V4.1版本。此前其模型迭代慢,此次改变或助其从技术理想迈向商业落地。从慢到快:迭代节奏转变DeepSeek曾以技术深度闻名,但模型迭代速度长期…...

Java AI应用开发实战:langchain4j框架核心架构与生产实践指南

1. 项目概述:当Java遇上AI应用开发如果你是一名Java开发者,最近被各种AI应用搞得心痒痒,看着Python社区里LangChain、LlamaIndex等框架玩得风生水起,自己却只能对着HTTP API调参,感觉使不上劲,那么“langch…...

保姆级教程:Qwen-Image-2512-ComfyUI内置工作流怎么用?手把手教你5分钟出图

保姆级教程:Qwen-Image-2512-ComfyUI内置工作流怎么用?手把手教你5分钟出图 1. 快速部署与启动 1.1 准备工作 在开始之前,请确保你的环境满足以下要求: 显卡:NVIDIA RTX 3060及以上(8GB显存&#xff09…...

ACAI平台:基于数据湖与智能调度的MLOps实验管理实践

1. 项目概述:当MLOps遇上数据湖与智能调度在机器学习(ML)项目从研究走向生产的漫长征途中,实验管理一直是个让人又爱又恨的环节。爱的是,每一次实验都可能是通往更高模型性能的钥匙;恨的是,随着…...

第三代社保卡全功能使用指南

文章目录社保卡代际区分(因省份而存在差异)第三代社保卡申领官方推广时间节点说明申领基础条件线下申领(支持即时制卡,当场拿卡)线上申领(邮寄到家/银行网点自取)第三代社保卡全功能指南基础社保…...

Qwen-Image-2512+LoRA像素艺术作品集:Retro、Cyberpunk、Fantasy三风格实测

Qwen-Image-2512LoRA像素艺术作品集:Retro、Cyberpunk、Fantasy三风格实测 1. 像素艺术生成新体验 最近在测试Qwen-Image-2512结合Pixel Art LoRA的像素艺术生成能力时,我被它的表现惊艳到了。这个组合不仅能生成传统8-bit风格的像素画,还能…...

构式语法与AI融合:从语言认知到可解释NLP的实践路径

1. 构式语法与人工智能:一场迟来的双向奔赴如果你同时关注语言学理论和人工智能的前沿进展,可能会觉得这是两个平行世界。一边是语言学家在探讨“构式”、“形式-意义配对”和“基于使用的模型”,另一边是AI工程师在调试Transformer模型、调整…...

DeepAnalyze部署教程:基于Ollama的免配置镜像,10分钟搭建私有文本分析平台

DeepAnalyze部署教程:基于Ollama的免配置镜像,10分钟搭建私有文本分析平台 1. 项目简介 DeepAnalyze是一个专为文本深度分析设计的AI工具,它能够像专业分析师一样阅读和理解文本内容。这个工具的核心价值在于:你给它一段文字&am…...

AI项目管理中的算法偏见与包容性设计:效率与公平的平衡之道

1. 项目概述:当AI遇见项目管理,效率与公平的十字路口干了十几年项目管理,从最初拿着甘特图跟团队死磕,到后来用上各种协作软件,我原以为工具迭代的终点就是流程自动化。直到人工智能(AI)开始渗透…...

Driver Store Explorer:Windows驱动存储清理终极指南,释放数GB磁盘空间

Driver Store Explorer:Windows驱动存储清理终极指南,释放数GB磁盘空间 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你是否发现Windows系统盘空间神秘消失&am…...

CANN / cann-learning-hub: Ascend C 算子工程化开发指南

【免费下载链接】cann-learning-hub CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。 项目地址: https://gitcode.com/cann/cann-learning-hub name: ascendc-ops-project desc…...

XUnity.AutoTranslator:5分钟掌握Unity游戏实时翻译的完整指南

XUnity.AutoTranslator:5分钟掌握Unity游戏实时翻译的完整指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而无法享受那些精彩的日系RPG或欧美独立游戏&#xff1f…...

AI智能体开发实战:基于agent-sdk构建可扩展的智能应用

1. 项目概述:一个面向AI智能体开发的SDK最近在折腾AI智能体(Agent)相关的项目,发现市面上虽然有不少框架,但要么太重,要么太轻,要么就是文档写得云里雾里,想快速搭建一个能跑、能扩展…...

基于verl框架和代码沙盒环境工具调用的代码强化学习实践

基于verl框架和代码沙盒环境工具调用的代码强化学习实践 【免费下载链接】cann-recipes-train 本项目针对LLM与多模态模型训练业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-train 概述 本项目基…...

美欧AI治理法案对比:从核心理念到企业合规实操全解析

1. 项目概述:从一场跨国会议引发的深度思考 去年夏天,我参加了一场关于人工智能伦理的线上国际研讨会。会上,来自布鲁塞尔和硅谷的两位专家就同一个案例——某社交媒体平台的推荐算法导致信息茧房加剧——展开了激烈辩论。欧洲的学者引经据典…...

nli-MiniLM2-L6-H768在舆情分析中的实战:识别观点冲突与一致性

nli-MiniLM2-L6-H768在舆情分析中的实战:识别观点冲突与一致性 1. 舆情分析的痛点与解决方案 在社交媒体时代,企业每天面临海量用户评论的冲击。传统舆情分析往往停留在情感分析层面,难以捕捉观点间的复杂关系。某手机品牌新品发布后&#…...

Gemma-3-12B-IT实战体验:搭建企业内部AI助手完整指南

Gemma-3-12B-IT实战体验:搭建企业内部AI助手完整指南 1. 项目背景与需求分析 在当今快节奏的技术环境中,企业内部知识管理面临诸多挑战。新员工入职需要快速掌握大量业务知识,技术文档分散在各个角落,核心成员的经验难以有效沉淀…...

[实战指南] 2026年工程图纸数字化与检验计划自动化的技术路径

在 2026 年的智能制造体系中,工程图纸数字化(engineering drawing digitization)已成为连接研发设计与质量检测的关键纽带。面对日益复杂的几何公差(GD&T)要求,传统的依靠人工在纸质或 PDF 图纸上圈选标…...

强化学习新范式:文化累积与跨代智能进化技术解析

1. 项目概述:当智能体开始“传承”经验 在传统的强化学习框架里,我们训练一个智能体,让它从零开始,在某个环境中通过试错来学习最优策略。这个过程,无论是经典的Q-Learning、策略梯度,还是如今大放异彩的深…...

DriverStore Explorer:Windows驱动管理专家,让系统重获新生

DriverStore Explorer:Windows驱动管理专家,让系统重获新生 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你是否曾经遇到过这样的困扰?Windows系统…...

2026年制造业数字化质量管理实务:从图纸识别到检验计划自动化

在 2026 年的智能制造环境下,数字化质量管理(digital quality management)已成为提升制造效率和合规性的核心。随着工业 4.0 的深入,质量管理不再局限于事后检测,而是转向以数据为驱动的全生命周期控制。本文将重点探讨…...

AI黑箱与法律归责:可解释性技术如何破解算法决策责任困境

1. 项目概述:当算法决策撞上法律边界最近几年,我身边做技术的朋友和做法律的朋友,聊天时越来越容易“吵”起来。技术派觉得,我们辛辛苦苦搞出来的AI模型,效果拔群,能预测、能分类、能生成,简直是…...

科研影响力评估:从引文指标到AI预测的量化方法与实践

1. 项目概述:当“影响力”成为一门科学 在学术圈和科研管理领域,我们每天都在谈论“影响力”。一篇论文的影响力有多大?一个学者的贡献如何衡量?一个研究机构的实力怎么评估?过去,我们可能依赖直觉、口碑或…...

别再傻傻分不清了!FreeRTOS事件组与任务通知的保姆级对比与实战选型指南

FreeRTOS事件组与任务通知深度解析:从原理到实战选型 在嵌入式实时操作系统领域,FreeRTOS凭借其轻量级和高度可裁剪的特性,成为众多开发者的首选。然而,面对其丰富的任务间通信机制,不少开发者常陷入选择困境——特别是…...