On Mon, Feb 03, 2025 at 12:59:51PM -0600, Andrew Davis via
lists.yoctoproject.org wrote:
> Arm NN is a performant machine learning inference engine for Linux,
> accelerating ML on Arm Cortex-A CPUs.
>
> Signed-off-by: Andrew Davis <[email protected]>
> ---
> ...01-Fix-type-casting-for-32bit-builds.patch | 40 +++++++++++
> .../recipes-devtools/armnn/armnn_24.11.bb | 70 +++++++++++++++++++
> 2 files changed, 110 insertions(+)
> create mode 100644
> meta-arago-extras/recipes-devtools/armnn/armnn/0001-Fix-type-casting-for-32bit-builds.patch
> create mode 100644 meta-arago-extras/recipes-devtools/armnn/armnn_24.11.bb
...
> diff --git a/meta-arago-extras/recipes-devtools/armnn/armnn_24.11.bb
> b/meta-arago-extras/recipes-devtools/armnn/armnn_24.11.bb
> new file mode 100644
> index 00000000..e965382a
> --- /dev/null
> +++ b/meta-arago-extras/recipes-devtools/armnn/armnn_24.11.bb
> @@ -0,0 +1,70 @@
> +SUMMARY = "ARM Neural Network SDK"
> +DESCRIPTION = "Linux software and tools to enable machine learning workloads
> on power-efficient devices"
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=3e14a924c16f7d828b8335a59da64074"
> +
> +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
This is the default - why do you need to set it explicitly?
> +BRANCH = "branches/armnn_24_11"
> +SRC_URI =
> "git://github.com/ARM-software/armnn.git;branch=${BRANCH};protocol=https"
> +SRC_URI += "file://0001-Fix-type-casting-for-32bit-builds.patch"
> +
> +# v24.11
> +SRCREV = "3ed70c005559d409feff2c578a1a39cf8fec8804"
> +
> +S = "${WORKDIR}/git"
> +
> +inherit cmake
> +inherit pkgconfig
> +
> +DEPENDS = " \
> + boost \
> + protobuf \
> + xxd-native \
> + arm-compute-library \
> +"
> +
> +RDEPENDS:${PN} = " \
> + arm-compute-library \
> + protobuf \
> + boost \
All these are listed in the DEPENDS and will be carried over to RDEPENDS
automatically, no need to list them explicitly, unless shlib logic is
completely screwed, in which case you better mention that in the commit log.
> +"
> +
> +PACKAGECONFIG += "unit-tests tests ref"
> +PACKAGECONFIG += "${@bb.utils.contains('TARGET_ARCH', 'aarch64', 'neon', '',
> d)}"
> +PACKAGECONFIG += "${@bb.utils.contains('TARGET_ARCH', 'arm', 'neon', '', d)}"
> +
> +PACKAGECONFIG[neon] = "-DARMCOMPUTENEON=1, -DARMCOMPUTENEON=0"
> +PACKAGECONFIG[unit-tests] = "-DBUILD_UNIT_TESTS=1, -DBUILD_UNIT_TESTS=0"
> +PACKAGECONFIG[tests] = "-DBUILD_TESTS=1, -DBUILD_TESTS=0"
> +PACKAGECONFIG[ref] = "-DARMNNREF=1, -DARMNNREF=0"
> +
> +EXTRA_OECMAKE += " \
> + -DHALF_INCLUDE=${STAGING_DIR_TARGET} \
> +"
> +
> +do_install:append() {
> + CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
> +
> + if ${@bb.utils.contains('PACKAGECONFIG', 'tests', 'true', 'false', d)};
> then
> + install -d ${D}${bindir}/${P}
> + find ${B}/tests -maxdepth 1 -type f -executable -exec cp $CP_ARGS {}
> ${D}${bindir}/${P} \;
> + fi
> +
> + if ${@bb.utils.contains('PACKAGECONFIG', 'unit-tests', 'true', 'false',
> d)}; then
> + install -d ${D}${bindir}/${P}
> + cp $CP_ARGS ${B}/UnitTests ${D}${bindir}/${P}
> + fi
> +
> + if ${@bb.utils.contains('PACKAGECONFIG', 'tensorflow-lite', 'false',
> 'true', d)}; then
> + rm -rf ${D}${includedir}/armnnTfLiteParser
> + fi
> +}
> +
> +CXXFLAGS += "-Wno-error=array-bounds -Wno-error=deprecated-declarations
> -Wno-error=nonnull"
> +
> +FILES:${PN} += "${libdir}/*"
> +FILES:${PN}-dev += "${includedir}/* ${libdir}/cmake/armnn/*
> ${libdir}/pkgconfig/*.pc ${bindir}/*"
> +
> +INSANE_SKIP:${PN} = "dev-so"
> +INSANE_SKIP:${PN}-dev += "buildpaths"
> --
> 2.39.2
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#15819):
https://lists.yoctoproject.org/g/meta-arago/message/15819
Mute This Topic: https://lists.yoctoproject.org/mt/110977538/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-