From c655ed35f6667e2c6801c299ebaa3b524820ee5a Mon Sep 17 00:00:00 2001 From: Stefan Hager Date: Tue, 28 Jan 2025 10:01:45 -0700 Subject: [PATCH] package/ruy: new package This package is required by tensorflow-lite. Tested-by: Stefan Hager Signed-off-by: Stefan Hager Signed-off-by: James Hilliard Signed-off-by: Julien Olivain --- DEVELOPERS | 1 + package/Config.in | 1 + package/ruy/Config.in | 22 ++++++++++++++++++++++ package/ruy/ruy.hash | 4 ++++ package/ruy/ruy.mk | 18 ++++++++++++++++++ 5 files changed, 46 insertions(+) create mode 100644 package/ruy/Config.in create mode 100644 package/ruy/ruy.hash create mode 100644 package/ruy/ruy.mk diff --git a/DEVELOPERS b/DEVELOPERS index 8e33b20bba..e9e106e250 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -3034,6 +3034,7 @@ F: package/ti-gfx/ N: Stefan Hager F: package/cpuinfo/ +F: package/ruy/ N: Stefan Nickl F: board/freescale/imx8dxlevk/ diff --git a/package/Config.in b/package/Config.in index 70ad2af568..f982b7332a 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2300,6 +2300,7 @@ endif source "package/qlibc/Config.in" source "package/reproc/Config.in" source "package/riemann-c-client/Config.in" + source "package/ruy/Config.in" source "package/shapelib/Config.in" source "package/skalibs/Config.in" source "package/sphinxbase/Config.in" diff --git a/package/ruy/Config.in b/package/ruy/Config.in new file mode 100644 index 0000000000..cc137a403c --- /dev/null +++ b/package/ruy/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_RUY_ARCH_SUPPORTS + bool + default y if BR2_PACKAGE_CPUINFO_ARCH_SUPPORTS + +config BR2_PACKAGE_RUY + bool "ruy" + depends on BR2_PACKAGE_CPUINFO_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 + depends on BR2_TOOLCHAIN_HAS_THREADS # cpuinfo + select BR2_PACKAGE_CPUINFO + help + Ruy is a matrix multiplication library. Its focus is to cover + the matrix multiplication needs of neural network inference + engines. Its initial user has been TensorFlow Lite, where it + is used by default on the ARM CPU architecture. + + https://github.com/google/ruy + +comment "ruy needs a toolchain w/ C++14, threads" + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/ruy/ruy.hash b/package/ruy/ruy.hash new file mode 100644 index 0000000000..159687bf04 --- /dev/null +++ b/package/ruy/ruy.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 0bd02bef7675d3edd8168e6e4ce22e162516947fcc07bb79809be4cda8f27a0c ruy-83fd40d730feb0804fafbc2d8814bcc19a17b2e5.tar.gz +# License files, locally calculated +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/package/ruy/ruy.mk b/package/ruy/ruy.mk new file mode 100644 index 0000000000..3e83553f19 --- /dev/null +++ b/package/ruy/ruy.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# ruy +# +################################################################################ + +RUY_VERSION = 83fd40d730feb0804fafbc2d8814bcc19a17b2e5 +RUY_SITE = $(call github,google,ruy,$(RUY_VERSION)) +RUY_LICENSE = Apache-2.0 +RUY_LICENSE_FILES = LICENSE +RUY_INSTALL_STAGING = YES +RUY_DEPENDENCIES = cpuinfo +RUY_CONF_OPTS = \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + -DRUY_FIND_CPUINFO=ON \ + -DRUY_MINIMAL_BUILD=ON + +$(eval $(cmake-package))