From d2cf1db411d872489be91a491cf9435e21f39e96 Mon Sep 17 00:00:00 2001 From: "Sv. Lockal" Date: Sun, 2 Jun 2024 16:24:07 +0000 Subject: dev-libs/oneDNN: add 3.4.3, drop 3.3.3-r1, add 3.3.6 Signed-off-by: Sv. Lockal Closes: https://github.com/gentoo/gentoo/pull/36982 Signed-off-by: Alfredo Tupone --- dev-libs/oneDNN/Manifest | 3 +- dev-libs/oneDNN/oneDNN-3.3.3-r1.ebuild | 134 --------------------------------- dev-libs/oneDNN/oneDNN-3.3.6.ebuild | 134 +++++++++++++++++++++++++++++++++ dev-libs/oneDNN/oneDNN-3.4.3.ebuild | 133 ++++++++++++++++++++++++++++++++ 4 files changed, 269 insertions(+), 135 deletions(-) delete mode 100644 dev-libs/oneDNN/oneDNN-3.3.3-r1.ebuild create mode 100644 dev-libs/oneDNN/oneDNN-3.3.6.ebuild create mode 100644 dev-libs/oneDNN/oneDNN-3.4.3.ebuild (limited to 'dev-libs/oneDNN') 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.3-r1.ebuild deleted file mode 100644 index f67b93c73e22..000000000000 --- a/dev-libs/oneDNN/oneDNN-3.3.3-r1.ebuild +++ /dev/null @@ -1,134 +0,0 @@ -# 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] - ) - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-3.3.3-include-cstdint.patch" -) - -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_cpu - ) - - 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 -} diff --git a/dev-libs/oneDNN/oneDNN-3.3.6.ebuild b/dev-libs/oneDNN/oneDNN-3.3.6.ebuild new file mode 100644 index 000000000000..f67b93c73e22 --- /dev/null +++ b/dev-libs/oneDNN/oneDNN-3.3.6.ebuild @@ -0,0 +1,134 @@ +# 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] + ) + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-3.3.3-include-cstdint.patch" +) + +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_cpu + ) + + 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 +} 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 +} -- cgit v1.2.3-65-gdbad