From 014e3a2a347d53252bd9e2375b5e51e579068943 Mon Sep 17 00:00:00 2001 From: lhj30071030 <15904187+lhj30071030@user.noreply.gitee.com> Date: Wed, 10 Dec 2025 01:41:07 +0000 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4openEuler=2022.03-LTS-SP4=20?= =?UTF-8?q?=E7=89=88=E6=9C=AC=20TF=E5=8E=9F=E7=94=9FEmbedding=E5=9B=BE?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8F=90=E9=AB=98=E6=8E=A8=E7=90=86=E6=80=A7?= =?UTF-8?q?=E8=83=BD10%=E6=B5=8B=E8=AF=95=E6=8A=A5=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lhj30071030 <15904187+lhj30071030@user.noreply.gitee.com> --- ...13\350\257\225\346\212\245\345\221\212.md" | 156 ++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 "Test_Result/openEuler_24.03_LTS_SP3/openEuler 22.03-LTS-SP4 \347\211\210\346\234\254 TF\345\216\237\347\224\237Embedding\345\233\276\344\274\230\345\214\226\346\217\220\351\253\230\346\216\250\347\220\206\346\200\247\350\203\27510%\346\265\213\350\257\225\346\212\245\345\221\212.md" diff --git "a/Test_Result/openEuler_24.03_LTS_SP3/openEuler 22.03-LTS-SP4 \347\211\210\346\234\254 TF\345\216\237\347\224\237Embedding\345\233\276\344\274\230\345\214\226\346\217\220\351\253\230\346\216\250\347\220\206\346\200\247\350\203\27510%\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/Test_Result/openEuler_24.03_LTS_SP3/openEuler 22.03-LTS-SP4 \347\211\210\346\234\254 TF\345\216\237\347\224\237Embedding\345\233\276\344\274\230\345\214\226\346\217\220\351\253\230\346\216\250\347\220\206\346\200\247\350\203\27510%\346\265\213\350\257\225\346\212\245\345\221\212.md" new file mode 100644 index 00000000..4e50ff9a --- /dev/null +++ "b/Test_Result/openEuler_24.03_LTS_SP3/openEuler 22.03-LTS-SP4 \347\211\210\346\234\254 TF\345\216\237\347\224\237Embedding\345\233\276\344\274\230\345\214\226\346\217\220\351\253\230\346\216\250\347\220\206\346\200\247\350\203\27510%\346\265\213\350\257\225\346\212\245\345\221\212.md" @@ -0,0 +1,156 @@ +![avatar](../../images/openEuler.png) + +版权所有 © 2025 openEuler社区 + 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/ 了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。 + +修订记录 + +| 日期 | 修订 版本 | 修改描述 | 作者 | +| ---------- | ----------- | -------- | ------ | +| 2025.11.21 | 1.0 | 新增 | 林涵杰 | + +关键词: AI编译器、ANNC、图优化 + +摘要:本报告主要描述基于openEuler 22.03 LTS SP4版本对ANNC的测试过程,报告对测试情况进行说明,对特性的测试充分度进行评估和总结。 + + +缩略语清单: + +| 缩略语 | 英文全名 | 中文解释 | +| ------ | ----------------------------------- | ------------------------------------------------------------ | +| ANNC | Accelerated Neural Network Compiler | ANNC(Accelerated Neural Network Compiler)是专注于加速神经网络计算的编译器,聚焦于通过计算图优化,高性能融合算子生成和对接技术以及高效代码生成和优化能力,加速推荐和大模型的推理性能,支持主流开源推理框架接入 | +| TF | Tensorflow | 一个由 Google 团队开发的、开源的、用于机器学习和深度学习的端到端平台和库。它的核心是一个强大的数学计算库,尤其擅长在大规模数据集上进行数值计算和高性能数值运算 | + + + +# 1 特性概述 + +ANNC通过计算图优化,高性能融合算子生成和对接技术和高效代码生成和优化能力,加速推荐和大模型的推理性能,支持主流开源推理框架接入。图算融合是ANNC的关键优化手段之一,通过将子图中的多个算子合并为一个“大算子”,减少冗余计算和内存占用,实现5%以上的推理性能提升。 + +# 2 特性测试信息 + +测试的时间及测试轮次 + +| 版本名称 | 测试起始时间 | 测试结束时间 | +| ---------------------------- | ------------ | ------------ | +| openEuler 25.12/Test Round 4 | 2025-11-13 | 2025-11-21 | + +特性测试的硬件环境信息 + +| 硬件型号 | 硬件配置信息 | 备注 | +| -------- | ----------------------------------------------------- | -------- | +| 鲲鹏920B | 鲲鹏 920-7270Z,内存512G 5.10.0-254.0.0.158.oe2203sp4 | 功能测试 | +| 鲲鹏920B | 鲲鹏 920-7270Z,内存512G 5.10.0-254.0.0.158.oe2203sp4 | 性能测试 | + +# 3 测试结论概述 + +## 3.1 测试整体结论 + +ANNC需求共包含4个特性,共计执行82个用例,主要覆盖了功能测试,性能测试和资料测试,发现问题1,已修复问题1,无遗留风险,整体质量良好。 + +| 测试活动 | 测试子项 | 测试用例数量 | 发现问题数量 | 已修复问题数量 | +| ----------- | ------------ | ------------ | ------------ | -------------- | +| 功能测试 | 基本功能测试 | 62 | 1 | 1 | +| 兼容性测试 | 不涉及 | / | / | / | +| DFX专项测试 | 性能测试 | 21 | 0 | 0 | +| 资料测试 | 资料测试 | 1 | 0 | 0 | + +## 3.2 约束说明 + +软件栈 + +| 配置项 | 验收标准 | +| ---------- | ------------------------------------------------------------ | +| CMake | 3.22.0 | +| Python | 3.9.9 | +| TensorFlow | 2.15 | +| TF-Serving | 2.15 | +| Bazel | 6.5.0 | +| 验收场景 | embedding_fused_action_id_gather
embedding_fused_gather
embedding_fused_padding
embedding_fused_sparse_dynamic_stitch
embedding_fused_sparse_reshape
embedding_fused_sparse_segment_reduce_nonzero
embedding_fused_sparse_segment_reduce
embedding_fused_sparse_select | + +## 3.3 遗留问题分析 + +### 3.3.1 遗留问题影响以及规避措施 + +不涉及 + +# 4 详细测试结论 + +## 4.1 功能测试 +*开源软件:主要关注开源软件升级后的变动点,继承特性由开源软件自带用例保证(需额外关注软件包提供可执行命令、库、服务功能)* +*社区孵化软件:主要参考以下列表* + +: 表示特性不稳定,风险高 +: 表示特性基本可用,遗留少量问题 +: 表示特性质量良好 + +### 4.1.1 新增特性测试结论 + +| 序号 | 组件/特性名称 | 特性质量评估 | 备注 | +| ---- | --------------------------------- | :------------------------: | ----------------- | +| 1 | 融合算子内核实现 | | 未发现问题 | +| 2 | 对接Tensorflow2.15 | | 未发现问题 | +| 3 | 实现特定模式的图遍历与Pattern匹配 | | 发现问题1,已修复1 | +| 4 | 融合改写器 | | 未发现问题 | + +## 4.2 兼容性测试结论 + +不涉及 + +## 4.3 DFX专项测试结论 + +### 4.3.1 性能测试结论 + +| 算子 | 推理时延 优化前 | 优化后 | 性能提升 | +| --------------------------------------------- | --------------- | ------ | -------- | +| embedding_fused_action_id_gather | 123.04 | 55.67 | 54.75% | +| embedding_fused_gather | 39.09 | 9.43 | 76.17% | +| embedding_fused_padding | 69.23 | 19.92 | 76.87% | +| embedding_fused_sparse_dynamic_stitch | 1135.99 | 306.78 | 72.99% | +| embedding_fused_sparse_reshape | 16.26 | 4.21 | 74.44% | +| embedding_fused_sparse_segment_reduce_nonzero | 343.77 | 292.60 | 14.69% | +| embedding_fused_sparse_segment_reduce | 35.76 | 8.95 | 74.96% | +| embedding_fused_sparse_select | / | / | 80.39% | + +经ANNC优化后,8个算子平均提升65.66%,达成性能优化目标。 + +## 4.4 资料测试结论 +| 测试类型 | 测试内容 | 文档链接 | 测试结论 | +| -------- | ------------ | -------------------------------------------------------- | -------- | +| 文档测试 | 外部文档测试 | https://gitee.com/openeuler/compiler-docs/pulls/82/files | ok | + +# 5 测试执行 + +## 5.1 测试执行统计数据 + +*本节内容根据测试用例及实际执行情况进行特性整体测试的统计,可根据第二章的测试轮次分开进行统计说明。* + +| 版本名称 | 测试用例数 | 用例执行结果 | 发现问题单数 | +| ---------------------------- | ---------- | ------------ | ------------ | +| openEuler 25.12/Test Round 4 | 84 | 84 | 1 | + +*数据项说明:* + +*测试用例数--到本测试活动结束时,所有可用测试用例数;* + +*发现问题单数--本测试活动总共发现的问题单数。* + +## 5.2 后续测试建议 + +拓展更多模型和场景,测试功能稳定性和性能泛化性。 + +# 6 附件 + +问题清单 + +| 序号 | ISSUE名称 | ISSUE链接 | 问题单状态 | 责任人 | +| ---- | ------------------------------------------ | ------------------------------------------------------------ | ---------- | ------ | +| 1 | 部分算子在hmv_model模型上无法匹配上pattern | [部分算子在hmv_model模型上无法匹配上pattern · Issue #ID7QV0 · src-openEuler/ANNC - Gitee.com](https://gitee.com/src-openeuler/ANNC/issues/ID7QV0?from=project-issue) | 已关闭 | 郑晨卉 | + + + + + + + + \ No newline at end of file -- Gitee