news 2026/5/9 19:59:02

cann/cann-competitions 算子测试作品

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
cann/cann-competitions 算子测试作品

团队信息

【免费下载链接】cann-competitions本仓库用于 CANN 开源社区各类竞赛、开源课题、社区任务等课题发布、开发者作品提交和展示。项目地址: https://gitcode.com/cann/cann-competitions

  • 团队名称:弥澄大亮
  • 所属单位:闽江大学
  • 团队成员:
    • 林滨炜,测试代码开发与用例设计
    • 林靖朝,测试执行与结果分析
    • 李聿钦,测试报告整理与提交材料汇总
  • 联系人:林滨炜
  • 联系邮箱:2965844701@qq.com

环境要求

  • CANN 版本:9.0.0-beta.2
  • 操作系统:组委会提供的远程 Ascend 910_93 NPU 服务器环境(aarch64 Linux)
  • 硬件环境:Ascend 910_93 NPU
  • 编译器:gcc 11
  • 测试框架:自定义 C++ 测试程序
  • 其他依赖:
    • AscendCL / ACLNN
    • cann-ops-math
    • gcov -b(覆盖率统计)
    • UniVPN(接入比赛内网)
    • SSH 远程登录环境

说明:本作品的编译、运行、调试与覆盖率统计均在组委会提供的远程真机环境中完成。队伍本地 WSL 环境仅用于文档整理与文件归档,不作为评测或结果复现环境。

文件说明

  • code/:测试代码源文件,按算子分子目录组织
    • code/Add/:Add 算子测试代码
    • code/Add/test_aclnn_add.cpp:Add 算子测试主程序
    • code/Cumsum/:Cumsum 算子测试代码
    • code/Cumsum/test_aclnn_cumsum.cpp:Cumsum 算子测试主程序
  • report/:测试报告
    • report/Add.md:Add 算子测试报告
    • report/Cumsum.md:Cumsum 算子测试报告

编译与运行

以下以 Add 与 Cumsum 两个算子为例说明。

Add

  1. 进入对应算子目录:cd code/Add

  2. 将测试文件复制到ops-math项目对应位置:cp test_aclnn_add.cpp /root/ops-math/math/add/examples/test_aclnn_add.cpp

  3. 切换到ops-math项目目录:cd /root/ops-math

  4. 编译前修复 Add 算子的CMakeLists.txt映射配置:sed -i 's|set(SUPPORT_COMPUTE_UNIT "ascend950" "mc62cm12a")|set(SUPPORT_COMPUTE_UNIT "ascend310p" "ascend910_93" "ascend910b" "ascend950" "mc62cm12a")|; s|set(SUPPORT_TILING_DIR "arch35" "arch35")$|set(SUPPORT_TILING_DIR "arch35" "arch35" "arch35" "arch35" "arch35")|' math/add/CMakeLists.txt

  5. 编译算子:bash build.sh --pkg --soc=ascend910_93 --ops=add --vendor_name=custom --cov

说明:--cov用于启用覆盖率插桩。编译成功后会在build_out/下生成算子安装包。

  1. 校验 host 层覆盖率插桩文件:find build -name "add_tiling*.gcno"

  2. 安装算子包:./build_out/cann-ops-math-custom_linux-aarch64.run

  3. 运行测试:bash build.sh --run_example add eager cust --vendor_name=custom --soc=ascend910_93 --cov

说明:本作品在组委会提供的远程 Ascend 910_93 真机 NPU 环境中运行,不使用--simulator参数。运行成功后会在build/目录下生成覆盖率数据文件(.gcda)。

  1. 查看覆盖率:find build -name "*.gcda" | grep addgcov -b <gcda-file>

说明:gcov输出中的Lines executed: XX.XX% of YY为行覆盖率,Branches executed: XX.XX% of YY为分支覆盖率。每次修改测试用例后,需重新执行上述编译、安装、运行与覆盖率统计步骤。

Cumsum

  1. 进入对应算子目录:cd code/Cumsum

  2. 将测试文件复制到ops-math项目对应位置:cp test_aclnn_cumsum.cpp /root/ops-math/math/cumsum/examples/test_aclnn_cumsum.cpp

  3. 切换到ops-math项目目录:cd /root/ops-math

  4. 编译前修复 Cumsum 算子的CMakeLists.txt映射配置:sed -i 's|set(SUPPORT_TILING_DIR "arch32" "arch32" "arch32" "arch35" "arch35")|set(SUPPORT_TILING_DIR "arch35" "arch35" "arch35" "arch35" "arch35")|' math/cumsum/CMakeLists.txt

  5. 编译算子:bash build.sh --pkg --opkernel --soc=ascend910_93 --ops=cumsum --vendor_name=custom_team2 --cov

说明:编译前需根据实际环境设置依赖库路径,例如:export LD_LIBRARY_PATH=/usr/local/Ascend/cann-9.0.0-beta.2/opp/vendors/custom_team2_math/op_api/lib/:$LD_LIBRARY_PATH

  1. 安装算子包:bash build_out/cann-ops-math-custom_team2_linux-aarch64.run --quiet

  2. 运行测试:bash build.sh --run_example cumsum eager cust

  3. 查看覆盖率:find build -name "*.gcda" | grep cumsumgcov -b <gcda-file>

说明:Cumsum 同样在组委会提供的远程 Ascend 910_93 真机 NPU 环境中运行,覆盖率数据在测试完成后于build/目录下生成。

说明

  • 本目录仅包含源代码与测试报告,不包含build/、目标文件、覆盖率产物等编译生成文件。
  • 若组委会需要 PDF 版报告,可将report/Add.mdreport/Cumsum.md分别导出为 PDF 后一并提交。

【免费下载链接】cann-competitions本仓库用于 CANN 开源社区各类竞赛、开源课题、社区任务等课题发布、开发者作品提交和展示。项目地址: https://gitcode.com/cann/cann-competitions

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 19:58:41

轻量级多进程消息收发模型WEBSOCKET,MQTT

TCP方面除了用WEBSOCKET,还有什么组件可以收到完整的一条消息&#xff1f;比如MQTT? 纯TCP发送文字&#xff0c;一次收到多条&#xff0c;粘包比较麻烦&#xff0c;客户端想要来发也比较麻烦 你说到了TCP 最核心的痛点&#xff1a;流式传输、无边界、粘包 / 拆包&#xff0c;纯…

作者头像 李华
网站建设 2026/5/9 19:58:16

AGI如何革新放射肿瘤学:从多模态融合到全流程智能辅助

1. 项目概述&#xff1a;当AGI遇见放射肿瘤学最近几年&#xff0c;人工智能在医疗领域的应用已经从“锦上添花”变成了“雪中送炭”。作为一名长期关注医疗技术交叉应用的从业者&#xff0c;我亲眼见证了AI从辅助影像识别&#xff0c;到参与临床决策&#xff0c;再到如今对整个…

作者头像 李华
网站建设 2026/5/9 19:52:01

Real-Anime-Z实战案例:用real-anime-z_22生成高饱和度视觉系角色海报

Real-Anime-Z实战案例&#xff1a;用real-anime-z_22生成高饱和度视觉系角色海报 1. 项目概述 Real-Anime-Z是一款基于Stable Diffusion的写实向动漫风格大模型&#xff0c;由Devilworld团队开发。它创造性地融合了写实与动漫两种风格特点&#xff0c;形成了独特的2.5D视觉效…

作者头像 李华
网站建设 2026/5/9 19:50:42

AI如何重塑运筹学:从参数生成到模型优化的全流程革新

1. 从“经验驱动”到“数据驱动”&#xff1a;AI如何重塑运筹学的核心流程在供应链、物流、金融这些领域摸爬滚打了十几年&#xff0c;我亲眼见证了运筹学&#xff08;OR&#xff09;从一门高深的数学艺术&#xff0c;逐渐演变为企业决策的“标配”工具。过去&#xff0c;一个复…

作者头像 李华