commit: 9473d6b2fdcb2626586197976464e83f63b28454 Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org> AuthorDate: Wed Feb 19 21:56:35 2025 +0000 Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org> CommitDate: Wed Feb 19 21:56:54 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9473d6b2
sci-libs/XNNPACK: add 2024.11.08 Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org> sci-libs/XNNPACK/Manifest | 1 + sci-libs/XNNPACK/XNNPACK-2024.11.08.ebuild | 86 ++++++++++++++++++++++ .../XNNPACK/files/XNNPACK-2024.11.08-gentoo.patch | 30 ++++++++ 3 files changed, 117 insertions(+) diff --git a/sci-libs/XNNPACK/Manifest b/sci-libs/XNNPACK/Manifest index 2d60bf4881cf..50746dd3c40b 100644 --- a/sci-libs/XNNPACK/Manifest +++ b/sci-libs/XNNPACK/Manifest @@ -1,3 +1,4 @@ DIST XNNPACK-2022.02.17.tar.gz 6761154 BLAKE2B 59be5d9efe6f46d22bc41d3152e6cd3103f6dfafd94cdf3229b86ecf44a46175c613760f3de35c98a24ccdec1783f205c1eceaf21133706fedd5f384529748eb SHA512 aacbe907bb2b7429143f4ec612881fb709fe37e7b3a7f4fd68193dee6bbe82e17d20b2c6f5a8025845a09f8269c1dfeaebfc5bd64ef196fa376d82ac9a44cb8f DIST XNNPACK-2022.12.22.tar.gz 8342018 BLAKE2B 50426a47121418ef00a29b390ab4bb28211c17faaa7f4eacbf3a363fc3511b8655687e7f7f93f13b06a72ff9bcbde033305372687b6f2df1e1d5abaa910fe8be SHA512 1742ad4de3aa1a67cd5a3cbf15d82afc2cc8569a2abac92542f748a440ef37fef4e9d9c302b7b2813e3176934b637c761c1c0956d20ab1ba28b280d9b121d91b DIST XNNPACK-2024.02.29.tar.gz 11561561 BLAKE2B bb3666edbf2ad87f4b6ba9dcaf28b3ed056b655bfa02e6f9bc350ce84db247ef3e0a6f9f908a0e05244e4b145b6993d465cd19ca763067ae619a7f94b97dc7bd SHA512 8063e27686f7b71cfba05b0c004c46db4506638689ffb112f013b3886de58653b60ca5487978c3f96275c17bb1136883ca4c93ddb2241a2c31925a950cb51759 +DIST XNNPACK-2024.11.08.tar.gz 8923022 BLAKE2B 1e73ffc1e5d1e1248272910860e59a471b52f207945f0049188d64b944e442fd2bc814105b2fef59e9ec295e9871cae0a805de485a047f9eacedcee2695d6e99 SHA512 b9e711e1c69a24e347f64ee21c60a609bff25e36153216382acd3d431e466b127eea81b1d80f00f84699a426c44f8a3566d9b95d0e87079c34f527e05c2db787 diff --git a/sci-libs/XNNPACK/XNNPACK-2024.11.08.ebuild b/sci-libs/XNNPACK/XNNPACK-2024.11.08.ebuild new file mode 100644 index 000000000000..ea77e1c773da --- /dev/null +++ b/sci-libs/XNNPACK/XNNPACK-2024.11.08.ebuild @@ -0,0 +1,86 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit cmake flag-o-matic + +CommitId=4ea82e595b36106653175dcb04b2aa532660d0d8 + +DESCRIPTION="library of floating-point neural network inference operators" +HOMEPAGE="https://github.com/google/XNNPACK/" +SRC_URI="https://github.com/google/${PN}/archive/${CommitId}.tar.gz + -> ${P}.tar.gz" + +S="${WORKDIR}"/${PN}-${CommitId} + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+assembly jit +memopt +sparse static-libs test" + +RDEPEND=" + >=dev-libs/cpuinfo-2023.11.04 + dev-libs/pthreadpool +" +DEPEND="${RDEPEND} + dev-libs/FP16 + dev-libs/FXdiv +" + +BDEPEND="test? ( dev-cpp/gtest )" +RESTRICT="!test? ( test )" +REQUIRED_USE="test? ( static-libs )" + +PATCHES=( "${FILESDIR}"/${P}-gentoo.patch ) + +src_prepare() { + dropTest=( + fully-connected-test + fully-connected-nc-test + subgraph-fp16-test + static-reshape-test + qd8-f16-qc8w-gemm-minmax-test + qd8-f32-qc8w-gemm-minmax-test + qd8-f16-qc4w-gemm-minmax-test + qd8-f32-qc4w-gemm-minmax-test + unary-elementwise-nc-test + ) + for id in ${dropTest[@]} + do + sed -i \ + -e "/ADD_TEST(NAME ${id}/d" \ + CMakeLists.txt \ + || die + done + sed -i \ + -e "/f32-vrsubc/d" \ + -e "/f16-vsqr/d" \ + -e "/f16-vlrelu/d" \ + -e "/f32-f16-vcvt/d" \ + CMakeLists.txt \ + || die + + cmake_src_prepare +} + +src_configure() { + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/933414 + # https://github.com/google/XNNPACK/issues/6806 + filter-lto + + local mycmakeargs=( + -DXNNPACK_BUILD_BENCHMARKS=OFF + -DXNNPACK_USE_SYSTEM_LIBS=ON + -DXNNPACK_BUILD_TESTS=$(usex test ON OFF) + -DXNNPACK_LIBRARY_TYPE=$(usex static-libs static shared) + -DXNNPACK_ENABLE_ASSEMBLY=$(usex assembly ON OFF) + -DXNNPACK_ENABLE_MEMOPT=$(usex memopt ON OFF) + -DXNNPACK_ENABLE_SPARSE=$(usex sparse ON OFF) + -DCMAKE_POSITION_INDEPENDENT_CODE=ON + -DPTHREADPOOL_SOURCE_DIR=/usr + -DCPUINFO_SOURCE_DIR=/usr + ) + + cmake_src_configure +} diff --git a/sci-libs/XNNPACK/files/XNNPACK-2024.11.08-gentoo.patch b/sci-libs/XNNPACK/files/XNNPACK-2024.11.08-gentoo.patch new file mode 100644 index 000000000000..a44708a2a88e --- /dev/null +++ b/sci-libs/XNNPACK/files/XNNPACK-2024.11.08-gentoo.patch @@ -0,0 +1,30 @@ +--- a/src/reference/unary-elementwise.cc 2025-02-19 21:58:14.973845984 +0100 ++++ b/src/reference/unary-elementwise.cc 2025-02-19 22:06:55.224576694 +0100 +@@ -127,6 +127,16 @@ + } + }; + ++#ifdef XNN_HAVE_FLOAT16 ++template <> ++struct ConvertOp<xnn_bfloat16, _Float16> { ++ explicit ConvertOp(const xnn_unary_uparams*) {} ++ _Float16 operator()(xnn_bfloat16 x) const { ++ return static_cast<_Float16>(static_cast<float>(x)); ++ } ++}; ++#endif ++ + template <typename TIn, typename TOut> + const xnn_unary_elementwise_config* get_convert_config( + std::true_type /*input_quantized*/, std::true_type /*output_quantized*/) { +--- a/src/xnnpack/requantization.h 2025-02-19 22:36:23.417900964 +0100 ++++ b/src/xnnpack/requantization.h 2025-02-19 22:37:06.910367395 +0100 +@@ -121,7 +121,7 @@ + uint8_t zero_point, + uint8_t min, uint8_t max) { + assert(scale < 256.0f); +- assert(scale >= 0x1.0p-32f); ++ assert(scale >= 1.0f / 4294967296.0f /* 0x1.0p-32f */); + + struct ExpMul f32 = parse_f32(scale); +