Pull Request已成功合入, 合并人@openeuler-ci-bot
(感谢 jcccx 的贡献)变更摘要
此 PR 为 openEuler 24.03-lts-sp4 新增 onednn 3.13 容器镜像,基于 oneDNN v3.13 上游固定版本构建。变更包括:在镜像清单中注册新镜像、编写多阶段 Dockerfile 完成从源码编译到运行时镜像的构建流程、添加版本元数据映射、以及提供覆盖二进制存在性、精确版本校验和 CPU ReLU 计算路径的自动化测试脚本。该镜像已在 x86_64 和 aarch64 架构上通过原生构建和运行时验证。
主要改动
- 镜像注册: 在
Others/image-list.yml中新增onednn: onednn条目,将新镜像纳入镜像清单管理。 - Dockerfile 构建流程: 新增
Others/onednn/3.13/24.03-lts-sp4/Dockerfile,采用两阶段构建:builder 阶段从 GitHub 下载 v3.13 源码,使用cmake编译安装到/usr/local,并编译getting_started.cpp示例为onednn-getting-started二进制;最终阶段仅复制运行时必需的库、头文件、二进制及文档(修正后路径为/usr/local/share/doc/dnnl),并配置ldconfig。 - 版本元数据映射: 新增
Others/onednn/meta.yml,建立3.13-oe2403sp4到3.13/24.03-lts-sp4/Dockerfile的路径映射。 - 自动化测试: 新增
Others/onednn/tests/test.sh,实现三个测试用例:test_binary_exists检查二进制是否在 PATH 中、test_exact_version通过ONEDNN_VERBOSE=1输出校验库版本是否为3.13.0、test_core_function验证 CPU ReLU 计算路径输出 "Example passed on CPU." 并正常退出。 - 验证结果记录: 新增
aarch64.junit.xml和x86_64.junit.xml记录两个架构的测试通过状态,以及version_info.json记录构建时的软件版本和环境信息。


Welcome To openEuler Community
Hey @qq_42020325 , thanks for your contribution to the community.
Bot Usage Manual
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here . That means you can comment below every pull request or issue to trigger Bot Commands.
Contact Guide
If you have any questions, please contact the SIG: sig-CloudNative ,
and any of the maintainers: @duguhaotian, @gaodaweiky, @jimmieme, @lu-wei-army, @weibaohui, @wonleing, @yangzhao_kl, @zhaoyifan28, @zmr_2020 ,


门禁正在运行, 您可以通过以下链接查看实时门禁检查结果.
若您对门禁结果含义不清晰或者遇到问题不知如何解决,可参考门禁指导手册
门禁入口及编码规范检查: multiarch/openeuler/trigger/openeuler-docker-images/2967/console


/retest


门禁正在运行, 您可以通过以下链接查看实时门禁检查结果.
若您对门禁结果含义不清晰或者遇到问题不知如何解决,可参考门禁指导手册
门禁入口及编码规范检查: multiarch/openeuler/trigger/openeuler-docker-images/3003/console


/lgtm
/approve


门禁正在运行, 您可以通过以下链接查看实时门禁检查结果.
若您对门禁结果含义不清晰或者遇到问题不知如何解决,可参考门禁指导手册
门禁入口及编码规范检查: multiarch/openeuler/trigger/openeuler-docker-images/3009/console


| Image Tag | Publish Result |
|---|---|
| onednn:3.13-oe2403sp4 | :white_check_mark:SUCCESS |
| Others/onednn/README.md | :white_check_mark:SUCCESS |


Summary
Add
onednn3.13built from the pinned upstream source for openEuler 24.03-lts-sp4.31464782108.3e464cfab4dd04df8048a6fd0277644ee63a3dd8401c792c97eecac5d0656182.Changes
Others/image-list.ymlOthers/onednn/3.13/24.03-lts-sp4/DockerfileOthers/onednn/README.mdOthers/onednn/meta.ymlOthers/onednn/results/3.13/24.03-lts-sp4/aarch64.junit.xmlOthers/onednn/results/3.13/24.03-lts-sp4/version_info.jsonOthers/onednn/results/3.13/24.03-lts-sp4/x86_64.junit.xmlOthers/onednn/tests/test.shAdversarial review
Testcase review
approvedafter 1 round.0.9.approved— Suite verifies binary presence, exact 3.13.0 library version via ONEDNN_VERBOSE header, and a real CPU ReLU compute path with 'Example passed on CPU.' and exit 0; all command evidence verified against pinned v3.13 sources, no lifecycle/Docker/readiness violations, no blockers or major gaps.full.Fixer process
1.fixed— Fixed the build failure by correcting the doc directory path in the final stage COPY to match the actual cmake install location.native_validation_failure; failed architectures:x86_64,aarch64.Others/onednn/3.13/24.03-lts-sp4/Dockerfile— Changed COPY source/destination from /usr/local/share/doc/onednn to /usr/local/share/doc/dnnlx86_64andaarch64.Repository checks
31464782108.3advisory findings./home/openeuler/actions-runner/_work/_temp/phase1-target/Others/onednn/3.13/24.03-lts-sp4/Dockerfile:6 DL3041 [1m[93mwarning[0m: Specify version withdnf install -y./home/openeuler/actions-runner/_work/_temp/phase1-target/Others/onednn/3.13/24.03-lts-sp4/Dockerfile:20 SC2046 [1m[93mwarning[0m: Quote this to prevent word splitting./home/openeuler/actions-runner/_work/_temp/phase1-target/Others/onednn/3.13/24.03-lts-sp4/Dockerfile:46 DL3002 [1m[93mwarning[0m: Last USER should not be rootConfidence Score
0.94(auto-merge).3; final metadata contract passed.5ef4f651e74bec5d8be9678f60831891244ab115.new-image-others-onednn-3.13-24.03-lts-sp4.version_info.json,x86_64.junit.xml,aarch64.junit.xml.reports/results.json.Checklist