Discussion:
[meta-arago] [rocko/master][PATCH v6 0/5] Add ARMNN
Jacob Stiffler
2018-09-13 17:56:22 UTC
Permalink
Add ARMNN and required dependencies.

Qin Su (5):
stb: C/C++ libraries used to build armnn test examples.
arm-compute-library: Machine Learning library for ARM.
armnn-caffe: caffe protobuf files used in building caffe models in
armnn.
armnn-tensorflow: tensorflow protobuf files for building tensorflow
models in armnn
armnn: ARM NN machine learning SDK.

.../arm-compute-library/arm-compute-library_git.bb | 44 +++++++++++++++++
.../recipes-support/armnn-caffe/armnn-caffe_git.bb | 22 +++++++++
.../armnn-tensorflow/armnn-tensorflow_git.bb | 25 ++++++++++
.../armnn/0001-stdlib-issue-work-around.patch | 55 ++++++++++++++++++++++
.../0002-enable-use-of-boost-shared-library.patch | 33 +++++++++++++
.../recipes-support/armnn/armnn_git.bb | 45 ++++++++++++++++++
meta-arago-extras/recipes-support/stb/stb_git.bb | 22 +++++++++
7 files changed, 246 insertions(+)
create mode 100644 meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb
create mode 100644 meta-arago-extras/recipes-support/armnn-caffe/armnn-caffe_git.bb
create mode 100644 meta-arago-extras/recipes-support/armnn-tensorflow/armnn-tensorflow_git.bb
create mode 100755 meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch
create mode 100755 meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch
create mode 100644 meta-arago-extras/recipes-support/armnn/armnn_git.bb
create mode 100644 meta-arago-extras/recipes-support/stb/stb_git.bb
--
2.7.4
Jacob Stiffler
2018-09-13 17:56:23 UTC
Permalink
From: Qin Su <***@ti.com>

Signed-off-by: Qin Su <***@ti.com>
Signed-off-by: Jacob Stiffler <j-***@ti.com>
---
Changes from previous versions:
* Add "_git" suffix to recipe name.
* Add version.
* DESCRIPTION --> SUMMARY.
* Add branch option for SRC_URI.
* For installation, use install by looping over *.h files.
* Remove bash-completion package as the file is not present.

meta-arago-extras/recipes-support/stb/stb_git.bb | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 meta-arago-extras/recipes-support/stb/stb_git.bb

diff --git a/meta-arago-extras/recipes-support/stb/stb_git.bb b/meta-arago-extras/recipes-support/stb/stb_git.bb
new file mode 100644
index 0000000..4181007
--- /dev/null
+++ b/meta-arago-extras/recipes-support/stb/stb_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "single-file public domain (or MIT licensed) libraries for C/C++"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.md;md5=42144ce827adcfa5170032f0ea03c227"
+
+PV = "2.31"
+
+BRANCH = "master"
+SRCREV = "e6afb9cbae4064da8c3e69af3ff5c4629579c1d2"
+
+SRC_URI = " \
+ git://github.com/nothings/stb.git;branch=${BRANCH} \
+"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${includedir}
+ for hdr in ${S}/*.h
+ do
+ install -m 0644 $hdr ${D}${includedir}
+ done
+}
--
2.7.4
Jacob Stiffler
2018-09-13 17:56:24 UTC
Permalink
From: Qin Su <***@ti.com>

The ARM Computer Vision and Machine Learning library is a set of functions
optimised for both ARM CPUs and GPUs using SIMD technologies.

Signed-off-by: Qin Su <***@ti.com>
Signed-off-by: Jacob Stiffler <j-***@ti.com>
---
Changes from previous versions:
* Add "_git" suffix to recipe name.
* Add version.
* Add branch option for SRC_URI.
* For installation, use install by looping over libraries.
* Remove unnecessary checksums for SRC_URI.
* Set armv7a as COMPATIBLE_MACHINE as this is hardcoded in
EXTRA_OESCONS.

.../arm-compute-library/arm-compute-library_git.bb | 44 ++++++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb

diff --git a/meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb b/meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb
new file mode 100644
index 0000000..23e31cd
--- /dev/null
+++ b/meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "The ARM Computer Vision and Machine Learning library is a set of functions optimised for both ARM CPUs and GPUs."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e2c93841b20cd522af621cabaea3aef8"
+
+COMPATIBLE_MACHINE = "armv7a"
+
+SRC_URI = " \
+ git://github.com/ARM-software/ComputeLibrary.git;branch=${BRANCH} \
+"
+
+PV = "18.05"
+
+BRANCH = "master"
+SRCREV = "e2542c9f35ca427286822cd0c9296f49914f78b0"
+
+S = "${WORKDIR}/git"
+
+do_compile_prepend() {
+ unset CC CXX
+}
+
+inherit scons
+
+EXTRA_OESCONS = "arch=armv7a extra_cxx_flags="-fPIC" benchmark_tests=1 validation_tests=0 neon=1 openmp=1 opencl=0"
+
+LIBS += "-larmpl_lp64_mp"
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+
+ install -d ${D}${libdir}
+ for lib in ${S}/build/*.so
+ do
+ install -m 0644 $lib ${D}${libdir}
+ done
+
+ install -d ${D}${datadir}/${PN}
+ cp $CP_ARGS ${S}/. ${D}${datadir}/${PN}
+}
+
+INSANE_SKIP_${PN}-dev = "dev-elf"
+
+PACKAGES =+ "${PN}-source"
+FILES_${PN}-source = "${datadir}/${PN}"
--
2.7.4
Denys Dmytriyenko
2018-09-13 18:12:39 UTC
Permalink
Post by Jacob Stiffler
The ARM Computer Vision and Machine Learning library is a set of functions
optimised for both ARM CPUs and GPUs using SIMD technologies.
---
* Add "_git" suffix to recipe name.
* Add version.
* Add branch option for SRC_URI.
* For installation, use install by looping over libraries.
* Remove unnecessary checksums for SRC_URI.
* Set armv7a as COMPATIBLE_MACHINE as this is hardcoded in
EXTRA_OESCONS.
^^^ Thanks a lot for all the fixes!

BTW, is this recipe available in any other layer?
Post by Jacob Stiffler
.../arm-compute-library/arm-compute-library_git.bb | 44 ++++++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb
diff --git a/meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb b/meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb
new file mode 100644
index 0000000..23e31cd
--- /dev/null
+++ b/meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "The ARM Computer Vision and Machine Learning library is a set of functions optimised for both ARM CPUs and GPUs."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e2c93841b20cd522af621cabaea3aef8"
+
+COMPATIBLE_MACHINE = "armv7a"
+
+SRC_URI = " \
+ git://github.com/ARM-software/ComputeLibrary.git;branch=${BRANCH} \
+"
+
+PV = "18.05"
+
+BRANCH = "master"
+SRCREV = "e2542c9f35ca427286822cd0c9296f49914f78b0"
+
+S = "${WORKDIR}/git"
+
+do_compile_prepend() {
+ unset CC CXX
+}
+
+inherit scons
+
+EXTRA_OESCONS = "arch=armv7a extra_cxx_flags="-fPIC" benchmark_tests=1 validation_tests=0 neon=1 openmp=1 opencl=0"
+
+LIBS += "-larmpl_lp64_mp"
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+
+ install -d ${D}${libdir}
+ for lib in ${S}/build/*.so
+ do
+ install -m 0644 $lib ${D}${libdir}
+ done
+
+ install -d ${D}${datadir}/${PN}
+ cp $CP_ARGS ${S}/. ${D}${datadir}/${PN}
+}
+
+INSANE_SKIP_${PN}-dev = "dev-elf"
+
+PACKAGES =+ "${PN}-source"
+FILES_${PN}-source = "${datadir}/${PN}"
--
2.7.4
_______________________________________________
meta-arago mailing list
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
Jacob Stiffler
2018-09-13 18:21:25 UTC
Permalink
Post by Denys Dmytriyenko
Post by Jacob Stiffler
The ARM Computer Vision and Machine Learning library is a set of functions
optimised for both ARM CPUs and GPUs using SIMD technologies.
---
* Add "_git" suffix to recipe name.
* Add version.
* Add branch option for SRC_URI.
* For installation, use install by looping over libraries.
* Remove unnecessary checksums for SRC_URI.
* Set armv7a as COMPATIBLE_MACHINE as this is hardcoded in
EXTRA_OESCONS.
^^^ Thanks a lot for all the fixes!
BTW, is this recipe available in any other layer?
I did a quick search and could not find anything existing, but I did
find a request for one on the github [1].

[1] https://github.com/ARM-software/ComputeLibrary/issues/512
Post by Denys Dmytriyenko
Post by Jacob Stiffler
.../arm-compute-library/arm-compute-library_git.bb | 44 ++++++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb
diff --git a/meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb b/meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb
new file mode 100644
index 0000000..23e31cd
--- /dev/null
+++ b/meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "The ARM Computer Vision and Machine Learning library is a set of functions optimised for both ARM CPUs and GPUs."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e2c93841b20cd522af621cabaea3aef8"
+
+COMPATIBLE_MACHINE = "armv7a"
+
+SRC_URI = " \
+ git://github.com/ARM-software/ComputeLibrary.git;branch=${BRANCH} \
+"
+
+PV = "18.05"
+
+BRANCH = "master"
+SRCREV = "e2542c9f35ca427286822cd0c9296f49914f78b0"
+
+S = "${WORKDIR}/git"
+
+do_compile_prepend() {
+ unset CC CXX
+}
+
+inherit scons
+
+EXTRA_OESCONS = "arch=armv7a extra_cxx_flags="-fPIC" benchmark_tests=1 validation_tests=0 neon=1 openmp=1 opencl=0"
+
+LIBS += "-larmpl_lp64_mp"
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+
+ install -d ${D}${libdir}
+ for lib in ${S}/build/*.so
+ do
+ install -m 0644 $lib ${D}${libdir}
+ done
+
+ install -d ${D}${datadir}/${PN}
+ cp $CP_ARGS ${S}/. ${D}${datadir}/${PN}
+}
+
+INSANE_SKIP_${PN}-dev = "dev-elf"
+
+PACKAGES =+ "${PN}-source"
+FILES_${PN}-source = "${datadir}/${PN}"
--
2.7.4
_______________________________________________
meta-arago mailing list
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
Denys Dmytriyenko
2018-09-13 18:22:15 UTC
Permalink
Post by Denys Dmytriyenko
Post by Jacob Stiffler
The ARM Computer Vision and Machine Learning library is a set of functions
optimised for both ARM CPUs and GPUs using SIMD technologies.
---
* Add "_git" suffix to recipe name.
* Add version.
* Add branch option for SRC_URI.
* For installation, use install by looping over libraries.
* Remove unnecessary checksums for SRC_URI.
* Set armv7a as COMPATIBLE_MACHINE as this is hardcoded in
EXTRA_OESCONS.
^^^ Thanks a lot for all the fixes!
BTW, is this recipe available in any other layer?
I did a quick search and could not find anything existing, but I did find a
request for one on the github [1].
[1] https://github.com/ARM-software/ComputeLibrary/issues/512
Ok, thanks. Let's add it here and then try to upstream it to meta-oe.
Post by Denys Dmytriyenko
Post by Jacob Stiffler
.../arm-compute-library/arm-compute-library_git.bb | 44 ++++++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb
diff --git a/meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb b/meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb
new file mode 100644
index 0000000..23e31cd
--- /dev/null
+++ b/meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "The ARM Computer Vision and Machine Learning library is a set of functions optimised for both ARM CPUs and GPUs."
Please provide short SUMMARY as well, maybe just first 8 words.

Again, longer DESCRIPTION is optional, but shorter SUMMARY is required.
Post by Denys Dmytriyenko
Post by Jacob Stiffler
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e2c93841b20cd522af621cabaea3aef8"
+
+COMPATIBLE_MACHINE = "armv7a"
+
+SRC_URI = " \
+ git://github.com/ARM-software/ComputeLibrary.git;branch=${BRANCH} \
+"
+
+PV = "18.05"
+
+BRANCH = "master"
+SRCREV = "e2542c9f35ca427286822cd0c9296f49914f78b0"
+
+S = "${WORKDIR}/git"
+
+do_compile_prepend() {
+ unset CC CXX
+}
+
+inherit scons
+
+EXTRA_OESCONS = "arch=armv7a extra_cxx_flags="-fPIC" benchmark_tests=1 validation_tests=0 neon=1 openmp=1 opencl=0"
+
+LIBS += "-larmpl_lp64_mp"
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+
+ install -d ${D}${libdir}
+ for lib in ${S}/build/*.so
+ do
+ install -m 0644 $lib ${D}${libdir}
+ done
+
+ install -d ${D}${datadir}/${PN}
+ cp $CP_ARGS ${S}/. ${D}${datadir}/${PN}
+}
+
+INSANE_SKIP_${PN}-dev = "dev-elf"
+
+PACKAGES =+ "${PN}-source"
+FILES_${PN}-source = "${datadir}/${PN}"
--
2.7.4
_______________________________________________
meta-arago mailing list
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
Jacob Stiffler
2018-09-13 17:56:25 UTC
Permalink
From: Qin Su <***@ti.com>

Signed-off-by: Qin Su <***@ti.com>
Signed-off-by: Jacob Stiffler <j-***@ti.com>
---
Changes from previous versions:
* Add "_git" suffix to recipe name.
* Add version.
* DESCRIPTION --> SUMMARY.
* Add branch option for SRC_URI.
* For installation, use install by looping over files.
* Update license information.
- Use BSD-2-Clause license from caffee sources which were used to
generate these files.

.../recipes-support/armnn-caffe/armnn-caffe_git.bb | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 meta-arago-extras/recipes-support/armnn-caffe/armnn-caffe_git.bb

diff --git a/meta-arago-extras/recipes-support/armnn-caffe/armnn-caffe_git.bb b/meta-arago-extras/recipes-support/armnn-caffe/armnn-caffe_git.bb
new file mode 100644
index 0000000..054552e
--- /dev/null
+++ b/meta-arago-extras/recipes-support/armnn-caffe/armnn-caffe_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Caffe protobuf files - used in ARMNN for Caffe network models"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=91d560803ea3d191c457b12834553991"
+
+SRC_URI = " \
+ git://git.ti.com/tidl/tidl-utils;branch=${BRANCH} \
+"
+
+PV = "1.0"
+
+BRANCH = "master"
+SRCREV = "16030b2e43de6143f371072d54760737ddda0645"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${datadir}/${BPN}/caffe/proto/
+ for file in ${S}/caffeImport/*
+ do
+ install -m 0644 $file ${D}${datadir}/${BPN}/caffe/proto/
+ done
+}
--
2.7.4
Jacob Stiffler
2018-09-13 18:41:47 UTC
Permalink
The LIC_CHKSUM_FILE is invalid. I missed updating the path to the new file.

I will send a new version once I double check with a clean build.


- Jake
Post by Jacob Stiffler
---
* Add "_git" suffix to recipe name.
* Add version.
* DESCRIPTION --> SUMMARY.
* Add branch option for SRC_URI.
* For installation, use install by looping over files.
* Update license information.
- Use BSD-2-Clause license from caffee sources which were used to
generate these files.
.../recipes-support/armnn-caffe/armnn-caffe_git.bb | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 meta-arago-extras/recipes-support/armnn-caffe/armnn-caffe_git.bb
diff --git a/meta-arago-extras/recipes-support/armnn-caffe/armnn-caffe_git.bb b/meta-arago-extras/recipes-support/armnn-caffe/armnn-caffe_git.bb
new file mode 100644
index 0000000..054552e
--- /dev/null
+++ b/meta-arago-extras/recipes-support/armnn-caffe/armnn-caffe_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Caffe protobuf files - used in ARMNN for Caffe network models"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=91d560803ea3d191c457b12834553991"
+
+SRC_URI = " \
+ git://git.ti.com/tidl/tidl-utils;branch=${BRANCH} \
+"
+
+PV = "1.0"
+
+BRANCH = "master"
+SRCREV = "16030b2e43de6143f371072d54760737ddda0645"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${datadir}/${BPN}/caffe/proto/
+ for file in ${S}/caffeImport/*
+ do
+ install -m 0644 $file ${D}${datadir}/${BPN}/caffe/proto/
+ done
+}
Jacob Stiffler
2018-09-13 17:56:26 UTC
Permalink
From: Qin Su <***@ti.com>

Signed-off-by: Qin Su <***@ti.com>
Signed-off-by: Jacob Stiffler <j-***@ti.com>
---
Changes from previous versions:
* Add "_git" suffix to recipe name.
* Add version.
* DESCRIPTION --> SUMMARY.
* Add branch option for SRC_URI.
* Add dependency on protobuf-native
* Add Apache license version (Apache-2.0)

.../armnn-tensorflow/armnn-tensorflow_git.bb | 25 ++++++++++++++++++++++
1 file changed, 25 insertions(+)
create mode 100644 meta-arago-extras/recipes-support/armnn-tensorflow/armnn-tensorflow_git.bb

diff --git a/meta-arago-extras/recipes-support/armnn-tensorflow/armnn-tensorflow_git.bb b/meta-arago-extras/recipes-support/armnn-tensorflow/armnn-tensorflow_git.bb
new file mode 100644
index 0000000..f85c6a8
--- /dev/null
+++ b/meta-arago-extras/recipes-support/armnn-tensorflow/armnn-tensorflow_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Tensorflow protobuf files - used in ARMNN for Tensorflow network models"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=01e86893010a1b87e69a213faa753ebd"
+
+SRC_URI = " \
+ git://github.com/tensorflow/tensorflow.git;name=tensorflow; \
+ git://github.com/ARM-software/armnn.git;name=armnn;subdir=${WORKDIR}/armnn;destsuffix=armnn \
+"
+
+PV = "1.10.0"
+
+SRCREV_tensorflow = "aed8f42bafabf11c5d92ce4109a5e0408b31f9c5"
+SRCREV_armnn = "4c7098bfeab1ffe1cdc77f6c15548d3e73274746"
+
+DEPENDS = "protobuf-native"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${datadir}/${PN}
+ ${WORKDIR}/armnn/scripts/generate_tensorflow_protobuf.sh ${D}${datadir}/${PN} ${STAGING_DIR_NATIVE}${prefix}
+}
+
+PACKAGES =+ "${PN}-source"
+FILES_${PN}-source = "${datadir}/${PN}"
--
2.7.4
Denys Dmytriyenko
2018-09-13 19:34:06 UTC
Permalink
Post by Jacob Stiffler
---
* Add "_git" suffix to recipe name.
* Add version.
* DESCRIPTION --> SUMMARY.
* Add branch option for SRC_URI.
* Add dependency on protobuf-native
* Add Apache license version (Apache-2.0)
.../armnn-tensorflow/armnn-tensorflow_git.bb | 25 ++++++++++++++++++++++
1 file changed, 25 insertions(+)
create mode 100644 meta-arago-extras/recipes-support/armnn-tensorflow/armnn-tensorflow_git.bb
diff --git a/meta-arago-extras/recipes-support/armnn-tensorflow/armnn-tensorflow_git.bb b/meta-arago-extras/recipes-support/armnn-tensorflow/armnn-tensorflow_git.bb
new file mode 100644
index 0000000..f85c6a8
--- /dev/null
+++ b/meta-arago-extras/recipes-support/armnn-tensorflow/armnn-tensorflow_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Tensorflow protobuf files - used in ARMNN for Tensorflow network models"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=01e86893010a1b87e69a213faa753ebd"
+
+SRC_URI = " \
+ git://github.com/tensorflow/tensorflow.git;name=tensorflow; \
+ git://github.com/ARM-software/armnn.git;name=armnn;subdir=${WORKDIR}/armnn;destsuffix=armnn \
+"
+
+PV = "1.10.0"
+
+SRCREV_tensorflow = "aed8f42bafabf11c5d92ce4109a5e0408b31f9c5"
+SRCREV_armnn = "4c7098bfeab1ffe1cdc77f6c15548d3e73274746"
Do you need to specify SRCREV_FORMAT here?
Post by Jacob Stiffler
+DEPENDS = "protobuf-native"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${datadir}/${PN}
+ ${WORKDIR}/armnn/scripts/generate_tensorflow_protobuf.sh ${D}${datadir}/${PN} ${STAGING_DIR_NATIVE}${prefix}
+}
+
+PACKAGES =+ "${PN}-source"
+FILES_${PN}-source = "${datadir}/${PN}"
Hmm, what are those files, what are these sources? Should there be some
description about what is being the output of this packages and what and where
that gets installed?
Post by Jacob Stiffler
--
2.7.4
_______________________________________________
meta-arago mailing list
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
Jacob Stiffler
2018-09-13 17:56:27 UTC
Permalink
From: Qin Su <***@ti.com>

Arm NN SDK is a set of open-source Linux software and tools that enables
machine learning workloads on power-efficient devices. Arm NN takes Caffe,
TensorFlow network frameworks, translate them to the internal Arm NN
formatand then, through the Compute Library, deploy them efficiently on
Cortex-A CPUs.

Signed-off-by: Qin Su <***@ti.com>
Signed-off-by: Jacob Stiffler <j-***@ti.com>
---
Changes from previous versions:
* Add "_git" suffix to recipe name.
* Add version.
* Add branch option for SRC_URI.
* Remove bash-completion package as the file is not present.

.../armnn/0001-stdlib-issue-work-around.patch | 55 ++++++++++++++++++++++
.../0002-enable-use-of-boost-shared-library.patch | 33 +++++++++++++
.../recipes-support/armnn/armnn_git.bb | 45 ++++++++++++++++++
3 files changed, 133 insertions(+)
create mode 100755 meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch
create mode 100755 meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch
create mode 100644 meta-arago-extras/recipes-support/armnn/armnn_git.bb

diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch b/meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch
new file mode 100755
index 0000000..2619c94
--- /dev/null
+++ b/meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch
@@ -0,0 +1,55 @@
+From 3691057b51010c1bd979998c460ad7b43f97496f Mon Sep 17 00:00:00 2001
+From: Qin Su <***@ti.com>
+Date: Fri, 10 Aug 2018 11:02:14 -0400
+Subject: [PATCH] stdlib issue work around
+
+Signed-off-by: Qin Su <***@ti.com>
+---
+ cmake/GlobalConfig.cmake | 28 ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+ mode change 100644 => 100755 cmake/GlobalConfig.cmake
+
+diff --git a/cmake/GlobalConfig.cmake b/cmake/GlobalConfig.cmake
+old mode 100644
+new mode 100755
+index 2dbeada..2b88c16
+--- a/cmake/GlobalConfig.cmake
++++ b/cmake/GlobalConfig.cmake
+@@ -47,6 +47,34 @@ elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP")
+ add_definitions(-DNOMINMAX=1 -DNO_STRICT=1)
+ endif()
++
++# Ensure that the default include system directories are added to the list of CMake implicit includes.
++# This workarounds an issue that happens when using GCC 6 and using system includes (-isystem).
++# For more details check: https://bugs.webkit.org/show_bug.cgi?id=161697
++macro(DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang _compiler _flags _result)
++ file(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy" "\n")
++ separate_arguments(_buildFlags UNIX_COMMAND "${_flags}")
++ execute_process(COMMAND ${_compiler} ${_buildFlags} -v -E -x ${_lang} -dD dummy
++ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/CMakeFiles OUTPUT_QUIET
++ ERROR_VARIABLE _gccOutput)
++ file(REMOVE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy")
++ if ("${_gccOutput}" MATCHES "> search starts here[^\n]+\n *(.+) *\n *End of (search) list")
++ set(${_result} ${CMAKE_MATCH_1})
++ string(REPLACE "\n" " " ${_result} "${${_result}}")
++ separate_arguments(${_result})
++ endif ()
++endmacro()
++
++if (CMAKE_COMPILER_IS_GNUCC)
++ DETERMINE_GCC_SYSTEM_INCLUDE_DIRS("c" "${CMAKE_C_COMPILER}" "${CMAKE_C_FLAGS}" SYSTEM_INCLUDE_DIRS)
++ set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES} ${SYSTEM_INCLUDE_DIRS})
++endif ()
++
++if (CMAKE_COMPILER_IS_GNUCXX)
++ DETERMINE_GCC_SYSTEM_INCLUDE_DIRS("c++" "${CMAKE_CXX_COMPILER}" "${CMAKE_CXX_FLAGS}" SYSTEM_INCLUDE_DIRS)
++ set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES} ${SYSTEM_INCLUDE_DIRS})
++endif ()
++
+ if("${CMAKE_SYSTEM_NAME}" STREQUAL Android)
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -llog")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -llog")
+--
+1.9.1
+
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch b/meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch
new file mode 100755
index 0000000..ee69a95
--- /dev/null
+++ b/meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch
@@ -0,0 +1,33 @@
+From 34a7ec821b11f7bed3dd644bf341cbaf6023516b Mon Sep 17 00:00:00 2001
+From: Qin Su <***@ti.com>
+Date: Tue, 11 Sep 2018 17:11:07 -0400
+Subject: [PATCH] enable use of boost shared library
+
+Signed-off-by: Qin Su <***@ti.com>
+---
+ cmake/GlobalConfig.cmake | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+ mode change 100644 => 100755 cmake/GlobalConfig.cmake
+
+diff --git a/cmake/GlobalConfig.cmake b/cmake/GlobalConfig.cmake
+old mode 100644
+new mode 100755
+index 2dbeada..a5a1113
+--- a/cmake/GlobalConfig.cmake
++++ b/cmake/GlobalConfig.cmake
+@@ -96,8 +96,10 @@ endif()
+ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
+
+ # Boost
+-add_definitions("-DBOOST_ALL_NO_LIB") # Turn off auto-linking as we specify the libs manually
+-set(Boost_USE_STATIC_LIBS ON)
++#add_definitions("-DBOOST_ALL_NO_LIB") # Turn off auto-linking as we specify the libs manually
++#set(Boost_USE_STATIC_LIBS ON)
++add_definitions(-DBOOST_ALL_DYN_LINK) # use shared library
++set(Boost_USE_STATIC_LIBS OFF)
+ find_package(Boost 1.59 REQUIRED COMPONENTS unit_test_framework system filesystem log program_options)
+ include_directories(SYSTEM "${Boost_INCLUDE_DIR}")
+ link_directories(${Boost_LIBRARY_DIR})
+--
+1.9.1
+
diff --git a/meta-arago-extras/recipes-support/armnn/armnn_git.bb b/meta-arago-extras/recipes-support/armnn/armnn_git.bb
new file mode 100644
index 0000000..9eaa727
--- /dev/null
+++ b/meta-arago-extras/recipes-support/armnn/armnn_git.bb
@@ -0,0 +1,45 @@
+DESCRIPTION = "Linux software and tools to enable machine learning (Caffe/Tensorflow) workloads on power-efficient devices"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3e14a924c16f7d828b8335a59da64074"
+
+PV = "20180502"
+
+BRANCH = "master"
+SRCREV = "4c7098bfeab1ffe1cdc77f6c15548d3e73274746"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+SRC_URI = " \
+ git://github.com/ARM-software/armnn.git;branch=${BRANCH} \
+ file://0001-stdlib-issue-work-around.patch \
+ file://0002-enable-use-of-boost-shared-library.patch \
+"
+
+DEPENDS = " \
+ boost \
+ protobuf \
+ stb \
+ arm-compute-library \
+ armnn-caffe \
+ armnn-tensorflow \
+"
+
+EXTRA_OECMAKE=" \
+ -DBUILD_SHARED_LIBS=ON -DREGISTER_INSTALL_PREFIX=OFF \
+ -DARMCOMPUTE_ROOT=${STAGING_DIR_HOST}${datadir}/arm-compute-library \
+ -DARMCOMPUTE_BUILD_DIR=${STAGING_DIR_HOST}${datadir}/arm-compute-library/build \
+ -DCAFFE_GENERATED_SOURCES=${STAGING_DIR_HOST}${datadir}/armnn-caffe \
+ -DTF_GENERATED_SOURCES=${STAGING_DIR_HOST}${datadir}/armnn-tensorflow \
+ -DBUILD_CAFFE_PARSER=1 -DBUILD_TF_PARSER=1 \
+ -DARMCOMPUTENEON=1 \
+ -DBUILD_TESTS=1 -DPROFILING=1 \
+ -DTHIRD_PARTY_INCLUDE_DIRS=${STAGING_DIR_HOST}${includedir} \
+"
+
+CXXFLAGS += "-fopenmp"
+LIBS += "-larmpl_lp64_mp"
+
+FILES_${PN}-dev += "{libdir}/cmake/*"
+INSANE_SKIP_${PN}-dev = "dev-elf"
--
2.7.4
Denys Dmytriyenko
2018-09-13 19:29:45 UTC
Permalink
Post by Jacob Stiffler
Arm NN SDK is a set of open-source Linux software and tools that enables
machine learning workloads on power-efficient devices. Arm NN takes Caffe,
TensorFlow network frameworks, translate them to the internal Arm NN
formatand then, through the Compute Library, deploy them efficiently on
Cortex-A CPUs.
---
* Add "_git" suffix to recipe name.
* Add version.
* Add branch option for SRC_URI.
* Remove bash-completion package as the file is not present.
.../armnn/0001-stdlib-issue-work-around.patch | 55 ++++++++++++++++++++++
.../0002-enable-use-of-boost-shared-library.patch | 33 +++++++++++++
.../recipes-support/armnn/armnn_git.bb | 45 ++++++++++++++++++
3 files changed, 133 insertions(+)
create mode 100755 meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch
create mode 100755 meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch
create mode 100644 meta-arago-extras/recipes-support/armnn/armnn_git.bb
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch b/meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch
new file mode 100755
index 0000000..2619c94
--- /dev/null
+++ b/meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch
@@ -0,0 +1,55 @@
+From 3691057b51010c1bd979998c460ad7b43f97496f Mon Sep 17 00:00:00 2001
+Date: Fri, 10 Aug 2018 11:02:14 -0400
+Subject: [PATCH] stdlib issue work around
Please don't forget to provide Upstream-status: per
https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status
Post by Jacob Stiffler
+---
+ cmake/GlobalConfig.cmake | 28 ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+ mode change 100644 => 100755 cmake/GlobalConfig.cmake
+
+diff --git a/cmake/GlobalConfig.cmake b/cmake/GlobalConfig.cmake
+old mode 100644
+new mode 100755
+index 2dbeada..2b88c16
+--- a/cmake/GlobalConfig.cmake
++++ b/cmake/GlobalConfig.cmake
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP")
+ add_definitions(-DNOMINMAX=1 -DNO_STRICT=1)
+ endif()
++
++# Ensure that the default include system directories are added to the list of CMake implicit includes.
++# This workarounds an issue that happens when using GCC 6 and using system includes (-isystem).
++# For more details check: https://bugs.webkit.org/show_bug.cgi?id=161697
++macro(DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang _compiler _flags _result)
++ file(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy" "\n")
++ separate_arguments(_buildFlags UNIX_COMMAND "${_flags}")
++ execute_process(COMMAND ${_compiler} ${_buildFlags} -v -E -x ${_lang} -dD dummy
++ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/CMakeFiles OUTPUT_QUIET
++ ERROR_VARIABLE _gccOutput)
++ file(REMOVE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy")
++ if ("${_gccOutput}" MATCHES "> search starts here[^\n]+\n *(.+) *\n *End of (search) list")
++ set(${_result} ${CMAKE_MATCH_1})
++ string(REPLACE "\n" " " ${_result} "${${_result}}")
++ separate_arguments(${_result})
++ endif ()
++endmacro()
++
++if (CMAKE_COMPILER_IS_GNUCC)
++ DETERMINE_GCC_SYSTEM_INCLUDE_DIRS("c" "${CMAKE_C_COMPILER}" "${CMAKE_C_FLAGS}" SYSTEM_INCLUDE_DIRS)
++ set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES} ${SYSTEM_INCLUDE_DIRS})
++endif ()
++
++if (CMAKE_COMPILER_IS_GNUCXX)
++ DETERMINE_GCC_SYSTEM_INCLUDE_DIRS("c++" "${CMAKE_CXX_COMPILER}" "${CMAKE_CXX_FLAGS}" SYSTEM_INCLUDE_DIRS)
++ set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES} ${SYSTEM_INCLUDE_DIRS})
++endif ()
++
+ if("${CMAKE_SYSTEM_NAME}" STREQUAL Android)
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -llog")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -llog")
+--
+1.9.1
+
diff --git a/meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch b/meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch
new file mode 100755
index 0000000..ee69a95
--- /dev/null
+++ b/meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch
@@ -0,0 +1,33 @@
+From 34a7ec821b11f7bed3dd644bf341cbaf6023516b Mon Sep 17 00:00:00 2001
+Date: Tue, 11 Sep 2018 17:11:07 -0400
+Subject: [PATCH] enable use of boost shared library
+---
+ cmake/GlobalConfig.cmake | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+ mode change 100644 => 100755 cmake/GlobalConfig.cmake
+
+diff --git a/cmake/GlobalConfig.cmake b/cmake/GlobalConfig.cmake
+old mode 100644
+new mode 100755
+index 2dbeada..a5a1113
+--- a/cmake/GlobalConfig.cmake
++++ b/cmake/GlobalConfig.cmake
+ set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
+
+ # Boost
+-add_definitions("-DBOOST_ALL_NO_LIB") # Turn off auto-linking as we specify the libs manually
+-set(Boost_USE_STATIC_LIBS ON)
++#add_definitions("-DBOOST_ALL_NO_LIB") # Turn off auto-linking as we specify the libs manually
++#set(Boost_USE_STATIC_LIBS ON)
++add_definitions(-DBOOST_ALL_DYN_LINK) # use shared library
++set(Boost_USE_STATIC_LIBS OFF)
+ find_package(Boost 1.59 REQUIRED COMPONENTS unit_test_framework system filesystem log program_options)
+ include_directories(SYSTEM "${Boost_INCLUDE_DIR}")
+ link_directories(${Boost_LIBRARY_DIR})
+--
+1.9.1
+
diff --git a/meta-arago-extras/recipes-support/armnn/armnn_git.bb b/meta-arago-extras/recipes-support/armnn/armnn_git.bb
new file mode 100644
index 0000000..9eaa727
--- /dev/null
+++ b/meta-arago-extras/recipes-support/armnn/armnn_git.bb
@@ -0,0 +1,45 @@
+DESCRIPTION = "Linux software and tools to enable machine learning (Caffe/Tensorflow) workloads on power-efficient devices"
Short SUMMARY please.
Post by Jacob Stiffler
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3e14a924c16f7d828b8335a59da64074"
+
+PV = "20180502"
+
+BRANCH = "master"
+SRCREV = "4c7098bfeab1ffe1cdc77f6c15548d3e73274746"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+SRC_URI = " \
+ git://github.com/ARM-software/armnn.git;branch=${BRANCH} \
+ file://0001-stdlib-issue-work-around.patch \
+ file://0002-enable-use-of-boost-shared-library.patch \
+"
+
+DEPENDS = " \
+ boost \
+ protobuf \
+ stb \
+ arm-compute-library \
+ armnn-caffe \
+ armnn-tensorflow \
+"
+
+EXTRA_OECMAKE=" \
+ -DBUILD_SHARED_LIBS=ON -DREGISTER_INSTALL_PREFIX=OFF \
+ -DARMCOMPUTE_ROOT=${STAGING_DIR_HOST}${datadir}/arm-compute-library \
+ -DARMCOMPUTE_BUILD_DIR=${STAGING_DIR_HOST}${datadir}/arm-compute-library/build \
+ -DCAFFE_GENERATED_SOURCES=${STAGING_DIR_HOST}${datadir}/armnn-caffe \
+ -DTF_GENERATED_SOURCES=${STAGING_DIR_HOST}${datadir}/armnn-tensorflow \
+ -DBUILD_CAFFE_PARSER=1 -DBUILD_TF_PARSER=1 \
+ -DARMCOMPUTENEON=1 \
+ -DBUILD_TESTS=1 -DPROFILING=1 \
+ -DTHIRD_PARTY_INCLUDE_DIRS=${STAGING_DIR_HOST}${includedir} \
+"
+
+CXXFLAGS += "-fopenmp"
+LIBS += "-larmpl_lp64_mp"
+
+FILES_${PN}-dev += "{libdir}/cmake/*"
+INSANE_SKIP_${PN}-dev = "dev-elf"
--
2.7.4
_______________________________________________
meta-arago mailing list
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
Jacob Stiffler
2018-09-17 13:51:42 UTC
Permalink
Denys,

Can you please backport this set to ti2018.03?


Thank you,

Jake
Post by Jacob Stiffler
Add ARMNN and required dependencies.
stb: C/C++ libraries used to build armnn test examples.
arm-compute-library: Machine Learning library for ARM.
armnn-caffe: caffe protobuf files used in building caffe models in
armnn.
armnn-tensorflow: tensorflow protobuf files for building tensorflow
models in armnn
armnn: ARM NN machine learning SDK.
.../arm-compute-library/arm-compute-library_git.bb | 44 +++++++++++++++++
.../recipes-support/armnn-caffe/armnn-caffe_git.bb | 22 +++++++++
.../armnn-tensorflow/armnn-tensorflow_git.bb | 25 ++++++++++
.../armnn/0001-stdlib-issue-work-around.patch | 55 ++++++++++++++++++++++
.../0002-enable-use-of-boost-shared-library.patch | 33 +++++++++++++
.../recipes-support/armnn/armnn_git.bb | 45 ++++++++++++++++++
meta-arago-extras/recipes-support/stb/stb_git.bb | 22 +++++++++
7 files changed, 246 insertions(+)
create mode 100644 meta-arago-extras/recipes-support/arm-compute-library/arm-compute-library_git.bb
create mode 100644 meta-arago-extras/recipes-support/armnn-caffe/armnn-caffe_git.bb
create mode 100644 meta-arago-extras/recipes-support/armnn-tensorflow/armnn-tensorflow_git.bb
create mode 100755 meta-arago-extras/recipes-support/armnn/armnn/0001-stdlib-issue-work-around.patch
create mode 100755 meta-arago-extras/recipes-support/armnn/armnn/0002-enable-use-of-boost-shared-library.patch
create mode 100644 meta-arago-extras/recipes-support/armnn/armnn_git.bb
create mode 100644 meta-arago-extras/recipes-support/stb/stb_git.bb
Loading...