On 2/5/25 2:12 PM, Denys Dmytriyenko wrote:
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?
Hmm, must have been a leftover from devtools or something, I can remove it.
+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.
For arm-compute-library the shlib logic was completely screwed but I
think that got fixed for this version. Let me run some checks and I'll
drop these if it all works.
Andrew
+"
+
+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 (#15824):
https://lists.yoctoproject.org/g/meta-arago/message/15824
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]]
-=-=-=-=-=-=-=-=-=-=-=-