summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSv. Lockal <lockalsash@gmail.com>2024-06-02 16:24:07 +0000
committerAlfredo Tupone <tupone@gentoo.org>2024-06-03 08:22:29 +0200
commitd2cf1db411d872489be91a491cf9435e21f39e96 (patch)
tree34646c23fe256e88f781a185f7dbe7d1a403e4bf /dev-libs/oneDNN
parentnet-dns/nsd: Add an ebuild for nsd-4.9.1 w/ many improvements (diff)
downloadgentoo-d2cf1db411d872489be91a491cf9435e21f39e96.tar.gz
gentoo-d2cf1db411d872489be91a491cf9435e21f39e96.tar.bz2
gentoo-d2cf1db411d872489be91a491cf9435e21f39e96.zip
dev-libs/oneDNN: add 3.4.3, drop 3.3.3-r1, add 3.3.6
Signed-off-by: Sv. Lockal <lockalsash@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/36982 Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Diffstat (limited to 'dev-libs/oneDNN')
-rw-r--r--dev-libs/oneDNN/Manifest3
-rw-r--r--dev-libs/oneDNN/oneDNN-3.3.6.ebuild (renamed from dev-libs/oneDNN/oneDNN-3.3.3-r1.ebuild)0
-rw-r--r--dev-libs/oneDNN/oneDNN-3.4.3.ebuild133
3 files changed, 135 insertions, 1 deletions
diff --git a/dev-libs/oneDNN/Manifest b/dev-libs/oneDNN/Manifest
index 4ebc5241e90d..c77be3b8984d 100644
--- a/dev-libs/oneDNN/Manifest
+++ b/dev-libs/oneDNN/Manifest
@@ -1,3 +1,4 @@
-DIST oneDNN-3.3.3.tar.gz 11577369 BLAKE2B 85df74235d70d30d69ebb1702dcb328466d38046b37f4078b1d6880c7cbe079d095e53e5c9e2f0f77daca057cae62e661ac1bf919e8f128cf9c76a847dc0425d SHA512 bb4a6b33b3191b9e517a321dd089b7debb528dd2d4be48f52626308fe0e1dbea3fa6149fd9debe6aa23f11224ac80e4d3ee1e251d2007faf9bcc262bb895de71
DIST oneDNN-3.3.4.tar.gz 11577725 BLAKE2B abfcf14f8f7ade2341004d3afdb2879814b50edb76dcc677f0c97aa061e3f5c958a8810fb3eb90926c7dc5d007406daf7b73e9ce660f8c0094a49338e9255f8c SHA512 ff31f3f6b59529aad47d5a8154572aa8d7e8267c4b8150aa32eeac7baa378e1dbfdc1adc6d503ebf1bd132bc09446019abf80e5dd8b54bd6aebfb08b7fb6b066
+DIST oneDNN-3.3.6.tar.gz 11579147 BLAKE2B 280103e99a90ee450ff1077bac6408f25f1ed32d86f908210b7e6a897692478a766e8d709dc3a42b06d90659aa9396a537708ea34c03c2da229c8e7a119d2c1e SHA512 02f51f61823300fb6beba833b4644c9eae5e3f7741453cf0a09d55f7cad9fc86d63e4bb1f17cbf92c37e8ecf1af109f300e110ff6191c1d26cd1350fe1f8d14f
+DIST oneDNN-3.4.3.tar.gz 12866333 BLAKE2B c1fe1d485ed174e08e6eada6d26eb1c94a99667343fc47a8492e34c66ee85e576ae71308805b76e87774446d2fa7c9496dd16546a5d592c654a9e10db0a1e582 SHA512 eb60137ee0196cd82e1e0300ba1c58afbedb342d9619c474d399946c7dcb34f8ca1211fad1070cd531189340b2ac1f3926ec4a95f72be8aef485e5f54a795bda
DIST oneDNN-3.4.tar.gz 12858442 BLAKE2B 56af66755b133d8f6590d3712b4d8c7e331c5b6e4d92f99c7773a6be64331fa2a03159cf96ab4d979d0586c2bf060757895393eca5a2b06af2cfe80b80642aff SHA512 8a4ae6251e12ee641a432011da8360e08866ac005a5930d3a6278ce470d8b4a88afbd5538504274ca5e0bf053845efb41c834acaab83121d9d986a41f31ff718
diff --git a/dev-libs/oneDNN/oneDNN-3.3.3-r1.ebuild b/dev-libs/oneDNN/oneDNN-3.3.6.ebuild
index f67b93c73e22..f67b93c73e22 100644
--- a/dev-libs/oneDNN/oneDNN-3.3.3-r1.ebuild
+++ b/dev-libs/oneDNN/oneDNN-3.3.6.ebuild
diff --git a/dev-libs/oneDNN/oneDNN-3.4.3.ebuild b/dev-libs/oneDNN/oneDNN-3.4.3.ebuild
new file mode 100644
index 000000000000..f63e938f040c
--- /dev/null
+++ b/dev-libs/oneDNN/oneDNN-3.4.3.ebuild
@@ -0,0 +1,133 @@
+# Copyright 2024 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=( none )
+
+# 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? ( test )"
+
+DEPEND="
+ mkl? ( sci-libs/mkl )
+ cblas? ( !mkl? ( virtual/cblas ) )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ openmp? (
+ || (
+ sys-devel/gcc[openmp]
+ sys-devel/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=(
+ -DDNNL_LIBRARY_TYPE=$(usex static-libs STATIC SHARED)
+ -DDNNL_CPU_RUNTIME=$(usex openmp OMP SEQ)
+ -DDNNL_GPU_RUNTIME=NONE
+ -DDNNL_BUILD_EXAMPLES=OFF
+ -DDNNL_BUILD_TESTS="$(usex test)"
+ -DDNNL_ENABLE_CONCURRENT_EXEC=OFF
+ -DDNNL_ENABLE_JIT_PROFILING=ON
+ -DDNNL_ENABLE_ITT_TASKS=ON
+ -DDNNL_ENABLE_PRIMITIVE_CACHE=ON
+ -DDNNL_ENABLE_MAX_CPU_ISA=ON
+ -DDNNL_ENABLE_CPU_ISA_HINTS=ON
+ -DDNNL_ENABLE_WORKLOAD=TRAINING
+ -DDNNL_ENABLE_PRIMITIVE=ALL
+ -DDNNL_ENABLE_PRIMITIVE_GPU_ISA=ALL
+ -DDNNL_EXPERIMENTAL=OFF
+ -DDNNL_VERBOSE=ON
+ -DDNNL_DEV_MODE=OFF
+ -DDNNL_AARCH64_USE_ACL=OFF
+ -DDNNL_GPU_VENDOR=INTEL
+ -DDNNL_LIBRARY_NAME=dnnl
+ -DONEDNN_BUILD_GRAPH=ON
+ -DONEDNN_ENABLE_GRAPH_DUMP=OFF
+ -DONEDNN_EXPERIMENTAL_GRAPH_COMPILER_BACKEND=OFF
+ -DDNNL_ENABLE_PRIMITIVE_CPU_ISA=ALL
+ -DONEDNN_ENABLE_GEMM_KERNELS_ISA=ALL
+ -Wno-dev
+ )
+
+ 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+=( -DDNNL_BLAS_VENDOR=MKL )
+ elif use cblas; then
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=ANY -DBLA_VENDOR=Generic -DBLAS_LIBRARIES=-lcblas )
+ else
+ mycmakeargs+=( -DDNNL_BLAS_VENDOR=NONE )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ docs_compile
+}
+
+src_install() {
+ cmake_src_install
+
+ # Correct docdir
+ mv "${ED}/usr/share/doc/dnnl"* "${ED}/usr/share/doc/${PF}" || die
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Crashes in sandbox (see #922886 and #923013);
+ # waits for sys-apps/sandbox-2.39 release and stabilization.
+ test_graph_unit_interface
+ test_graph_unit_dnnl_layout_propagator
+ test_graph_unit_dnnl_op_executable
+ test_graph_unit_utils
+ )
+
+ if use openmp ; then
+ # Don't run tests in parallel, each test is already parallelized
+ OMP_NUM_THREADS=$(makeopts_jobs) cmake_src_test -j1
+ else
+ cmake_src_test
+ fi
+}