repo/gentoo:master commit in: sci-ml/oneDNN/
"Alfredo Tupone" <[email protected]> Sun, 02 Aug 2026 19:15:56 +0000 (UTC)
| Newsgroups | gmane.linux.gentoo.cvs |
|---|---|
| Message-ID | <1785698140.8039bb43d64abe34b3b9be60ec8341fb41c8745c.tupone@gentoo> |
commit: 8039bb43d64abe34b3b9be60ec8341fb41c8745c
Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 2 19:15:21 2026 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sun Aug 2 19:15:40 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8039bb43
sci-ml/oneDNN: add 3.12
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
sci-ml/oneDNN/Manifest | 1 +
sci-ml/oneDNN/oneDNN-3.12.ebuild | 123 +++++++++++++++++++++++++++++++++++++++
2 files changed, 124 insertions(+)
diff --git a/sci-ml/oneDNN/Manifest b/sci-ml/oneDNN/Manifest
index a2e12f304af6..2d16e126e029 100644
--- a/sci-ml/oneDNN/Manifest
+++ b/sci-ml/oneDNN/Manifest
@@ -1,2 +1,3 @@
DIST oneDNN-3.10.2.tar.gz 13511649 BLAKE2B 99888f0dee55cad4ce2968ad3ebeacc47c45174d5dc263c1d7a4fc060ef015fa027cf09a49f530087f8faaf9200928bf7089d11b003eaf8d861205852a749f14 SHA512 8075fbd3a93c3b070eb2d69e5e52456bfdf14eda9d3c3ed6be5a4b806ea51f0a7974f206ad6a53e62387718b875893d94d9dbd414908f442d5ecc388a458f851
DIST oneDNN-3.11.2.tar.gz 13775696 BLAKE2B 9c037a117b52cd49327de8feaaa2f45b39ee5221b9068fe847c844c2dde4b92fb04591432d845711fcb5a5cdc8d7048c6e915279ab67be52b6d70007a457e8ca SHA512 4b7d1da7a1f3ffcdf83916f0133a741a25e1cd27a7acdc33c833f50d646931b1b666820836d3d77df0ab4e043ae18004630a62e4b7f0862b06cea8c19b68bcf6
+DIST oneDNN-3.12.tar.gz 14009955 BLAKE2B c38057d85a631e021ce49f10eef208486861bd9f36f04d28384d1ce1ef5bf20865a0bd5fbf9a94efc073f49c7a4842fa993ba0b6c98eb1adb696bc2b02f7b925 SHA512 d3227e571a286435628e74b88ad64b0a5481e38d08a72247e605a0d2d00a506b2c64eb87d3bef3b9c1c358d36b2b260eab3c2af4b79bc126f563f552793b36c6
diff --git a/sci-ml/oneDNN/oneDNN-3.12.ebuild b/sci-ml/oneDNN/oneDNN-3.12.ebuild
new file mode 100644
index 000000000000..d27034f767e9
--- /dev/null
+++ b/sci-ml/oneDNN/oneDNN-3.12.ebuild
@@ -0,0 +1,123 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_DIR="${WORKDIR}/${P}_build"
+
+# oneDNN has its own FindBLAS.cmake file to find MKL (in a non-standard way).
+# Removing of CMake modules is disabled.
+CMAKE_REMOVE_MODULES_LIST=()
+
+# There is additional sphinx documentation but we are missing dependency doxyrest.
+inherit cmake docs multiprocessing toolchain-funcs
+
+DESCRIPTION="oneAPI Deep Neural Network Library"
+HOMEPAGE="https://github.com/oneapi-src/oneDNN"
+SRC_URI="https://github.com/oneapi-src/oneDNN/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="test mkl cblas static-libs +openmp"
+
+RESTRICT="test" # Some test are very long to execute
+
+DEPEND="
+ mkl? ( sci-libs/mkl )
+ cblas? ( !mkl? ( virtual/cblas ) )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ openmp? (
+ || (
+ sys-devel/gcc[openmp]
+ llvm-runtimes/clang-runtime[openmp]
+ )
+ )
+"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ if ! use openmp ; then
+ ewarn "WARNING: oneDNN is being built with sequential runtime."
+ ewarn "Proceeding might lead to highly sub-optimal performance."
+ ewarn "Conside enabling \"openmp\" USE flag."
+ fi
+
+ local mycmakeargs=(
+ -DONEDNN_LIBRARY_TYPE=$(usex static-libs STATIC SHARED)
+ -DONEDNN_CPU_RUNTIME=$(usex openmp OMP SEQ)
+ -DONEDNN_GPU_RUNTIME=NONE
+ -DONEDNN_BUILD_EXAMPLES=OFF
+ -DONEDNN_BUILD_TESTS="$(usex test)"
+ -DONEDNN_ENABLE_CONCURRENT_EXEC=OFF
+ -DONEDNN_ENABLE_JIT_PROFILING=ON
+ -DONEDNN_ENABLE_ITT_TASKS=ON
+ -DONEDNN_ENABLE_PRIMITIVE_CACHE=ON
+ -DONEDNN_ENABLE_MAX_CPU_ISA=ON
+ -DONEDNN_ENABLE_CPU_ISA_HINTS=ON
+ -DONEDNN_ENABLE_WORKLOAD=TRAINING
+ -DONEDNN_ENABLE_PRIMITIVE=ALL
+ -DONEDNN_ENABLE_PRIMITIVE_GPU_ISA=ALL
+ -DONEDNN_EXPERIMENTAL=OFF
+ -DONEDNN_VERBOSE=ON
+ -DONEDNN_DEV_MODE=OFF
+ -DONEDNN_AARCH64_USE_ACL=OFF
+ -DONEDNN_EXPERIMENTAL_UKERNEL=ON
+ -DONEDNN_GPU_VENDOR=INTEL
+ -DONEDNN_LIBRARY_NAME=dnnl
+ -DONEDNN_BUILD_GRAPH=ON
+ -DONEDNN_ENABLE_GRAPH_DUMP=OFF
+ -DONEDNN_ENABLE_PRIMITIVE_CPU_ISA=ALL
+ -DONEDNN_ENABLE_GEMM_KERNELS_ISA=ALL
+ )
+
+ if use mkl ; then
+ if [ -e "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh ]; then
+ source "${EPREFIX}"/opt/intel/oneapi/mkl/latest/env/vars.sh || die
+ else
+ # bug 923109: sci-libs/mkl-2020.4.304 has no vars.sh, configure it manually
+ export CPATH="${EPREFIX}"/usr/include/mkl
+ export MKLROOT="${EPREFIX}"/usr
+ fi
+
+ mycmakeargs+=( -DONEDNN_BLAS_VENDOR=MKL )
+ elif use cblas; then
+ mycmakeargs+=( -DONEDNN_BLAS_VENDOR=ANY -DBLA_VENDOR=Generic -DBLAS_LIBRARIES=-lcblas )
+ else
+ mycmakeargs+=( -DONEDNN_BLAS_VENDOR=NONE )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ docs_compile
+}
+
+src_test() {
+ if use openmp ; then
+ # Don't run tests in parallel, each test is already parallelized
+ OMP_NUM_THREADS=$(get_makeopts_jobs) cmake_src_test -j1
+ else
+ cmake_src_test
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ # Correct docdir
+ mv "${ED}/usr/share/doc/dnnl"* "${ED}/usr/share/doc/${PF}" || die
+}