mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-libs/oneDNN: add 3.5.2
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
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
|
||||
DIST oneDNN-3.5.2.tar.gz 13190514 BLAKE2B 4d274fcdc9d30de4df5d6c949932e65f1ddefa56d96ec87c60aee2122cd8f250bbe6dfffb329ca9e413dd13fdb5478d3470076f0913cc53b1d418a2997f88377 SHA512 80b6eda44fc600eff8b98ce58937b98440ab3cf18e0022df366e417189ae42e722e6b11f9c2c01049313bd9d3f7e74eff8efc6ac8590b602d16b32265dd74578
|
||||
DIST oneDNN-3.5.tar.gz 13189199 BLAKE2B 3e7df5feb6c95cb60a65352bfe606fddd17f4dae322762ca0682e8afab27dce9018252bfac7b06f0154bc79a66c6ce3adb387f94c2fcd561fe695d43b732d6c5 SHA512 3acb935c8e826586b54e573650ac842e7bcd5a44d2578241c169a31cf9f56d9e5bc0fd6f9de4617d5dc497e5626f88e6d00f06be2161ba2b0af94569dfdcae94
|
||||
|
||||
133
dev-libs/oneDNN/oneDNN-3.5.2.ebuild
Normal file
133
dev-libs/oneDNN/oneDNN-3.5.2.ebuild
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user