From: Denys Dmytriyenko <denis@denix.org>
To: afd@ti.com
Cc: Denys Dmytriyenko <denys@konsulko.com>,
Ryan Eatmon <reatmon@ti.com>, Chirag Shilwant <c-shilwant@ti.com>,
meta-arago@lists.yoctoproject.org
Subject: Re: [meta-arago][scarthgap/master][PATCH 1/4] meta-arago-extras: Add recipe for arm-compute-library
Date: Wed, 5 Feb 2025 15:07:38 -0500 [thread overview]
Message-ID: <20250205200738.GN21608@denix.org> (raw)
In-Reply-To: <20250203185953.269693-2-afd@ti.com>
On Mon, Feb 03, 2025 at 12:59:50PM -0600, Andrew Davis via lists.yoctoproject.org wrote:
> The Compute Library is a collection of low-level machine learning
> functions optimized for Arm. This will be used for ARMNN and
> other machine learning applications and frameworks.
>
> Signed-off-by: Andrew Davis <afd@ti.com>
> ---
> ...-indention-in-cmake-generator-script.patch | 130 ++++++++++++
> ...ENABLE_NEON-in-code-for-checking-NEO.patch | 114 ++++++++++
> ...ENABLE_SVE-in-code-for-checking-SVE-.patch | 197 ++++++++++++++++++
> ...rce-files-at-library-definition-time.patch | 167 +++++++++++++++
> ...ptions-for-SVE-SVE2-and-BF16-support.patch | 112 ++++++++++
> ...SVE2-support-to-be-disabled-in-CMake.patch | 91 ++++++++
> .../0007-Allow-ARMv7-builds-using-CMake.patch | 86 ++++++++
> ...ymbol-error-when-building-TensorInfo.patch | 46 ++++
> .../arm-compute-library_24.12.bb | 89 ++++++++
> 9 files changed, 1032 insertions(+)
> create mode 100644 meta-arago-extras/recipes-devtools/arm-compute-library/arm-compute-library/0001-fix-Fix-indention-in-cmake-generator-script.patch
> create mode 100644 meta-arago-extras/recipes-devtools/arm-compute-library/arm-compute-library/0002-Use-ARM_COMPUTE_ENABLE_NEON-in-code-for-checking-NEO.patch
> create mode 100644 meta-arago-extras/recipes-devtools/arm-compute-library/arm-compute-library/0003-Use-ARM_COMPUTE_ENABLE_SVE-in-code-for-checking-SVE-.patch
> create mode 100644 meta-arago-extras/recipes-devtools/arm-compute-library/arm-compute-library/0004-Add-source-files-at-library-definition-time.patch
> create mode 100644 meta-arago-extras/recipes-devtools/arm-compute-library/arm-compute-library/0005-Add-CMake-options-for-SVE-SVE2-and-BF16-support.patch
> create mode 100644 meta-arago-extras/recipes-devtools/arm-compute-library/arm-compute-library/0006-Allow-SVE-and-SVE2-support-to-be-disabled-in-CMake.patch
> create mode 100644 meta-arago-extras/recipes-devtools/arm-compute-library/arm-compute-library/0007-Allow-ARMv7-builds-using-CMake.patch
> create mode 100644 meta-arago-extras/recipes-devtools/arm-compute-library/arm-compute-library/0008-Fix-undefined-symbol-error-when-building-TensorInfo.patch
> create mode 100644 meta-arago-extras/recipes-devtools/arm-compute-library/arm-compute-library_24.12.bb
> diff --git a/meta-arago-extras/recipes-devtools/arm-compute-library/arm-compute-library_24.12.bb b/meta-arago-extras/recipes-devtools/arm-compute-library/arm-compute-library_24.12.bb
> new file mode 100644
> index 00000000..383b02fb
> --- /dev/null
> +++ b/meta-arago-extras/recipes-devtools/arm-compute-library/arm-compute-library_24.12.bb
> @@ -0,0 +1,89 @@
> +SUMMARY = "The ARM Computer Vision and Machine Learning library"
> +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://LICENSES/MIT.txt;md5=35f8944fae972976691f3483b0ac9dba"
> +
> +SRC_URI = " \
> + git://github.com/ARM-software/ComputeLibrary.git;branch=main;protocol=https \
> + file://0001-fix-Fix-indention-in-cmake-generator-script.patch \
> + file://0002-Use-ARM_COMPUTE_ENABLE_NEON-in-code-for-checking-NEO.patch \
> + file://0003-Use-ARM_COMPUTE_ENABLE_SVE-in-code-for-checking-SVE-.patch \
> + file://0004-Add-source-files-at-library-definition-time.patch \
> + file://0005-Add-CMake-options-for-SVE-SVE2-and-BF16-support.patch \
> + file://0006-Allow-SVE-and-SVE2-support-to-be-disabled-in-CMake.patch \
> + file://0007-Allow-ARMv7-builds-using-CMake.patch \
> + file://0008-Fix-undefined-symbol-error-when-building-TensorInfo.patch \
> +"
> +SRCREV = "32bcced2af7feea6969dd1d22e58d0718dc488e3"
> +
> +S = "${WORKDIR}/git"
> +
> +# Only compatible with armv7, armv7ve, and aarch64
> +COMPATIBLE_MACHINE = "(^$)"
> +COMPATIBLE_MACHINE:aarch64 = "(.*)"
> +COMPATIBLE_MACHINE:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon","(.*)","(^$)",d)}"
> +COMPATIBLE_MACHINE:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon","(.*)","(^$)",d)}"
Seems excessive...
Will this work:
COMPATIBLE_MACHINE = "(armv7a|aarch64)"
If you do want to specifically check for "neon" being enabled, you can still
skip armv7ve, as armv7a check will also apply to armv7ve...
> +
> +inherit cmake
> +
> +PACKAGECONFIG ??= "examples tests cppthreads openmp"
> +
> +PACKAGECONFIG[Werror] = "-DARM_COMPUTE_WERROR=ON,-DARM_COMPUTE_WERROR=OFF"
> +PACKAGECONFIG[examples] = "-DARM_COMPUTE_BUILD_EXAMPLES=ON,-DARM_COMPUTE_BUILD_EXAMPLES=OFF"
> +PACKAGECONFIG[tests] = "-DARM_COMPUTE_BUILD_TESTING=ON,-DARM_COMPUTE_BUILD_TESTING=OFF"
> +PACKAGECONFIG[cppthreads] = "-DARM_COMPUTE_CPPTHREADS=ON,-DARM_COMPUTE_CPPTHREADS=OFF"
> +PACKAGECONFIG[openmp] = "-DARM_COMPUTE_OPENMP=ON,-DARM_COMPUTE_OPENMP=OFF"
> +
> +EXTRA_OECMAKE:append:aarch64 = " \
> + -DARM_COMPUTE_ARCH=armv8-a \
> + -DENABLE_NEON=ON \
> + -DENABLE_SVE=OFF \
> + -DENABLE_SVE2=OFF \
> +"
> +EXTRA_OECMAKE:append:arm = " \
And here, the override should probably be armv7a, not arm? I know you set
COMPATIBLE_MACHINE above to prevent armv4/v5/v6 from even coming here, but
still...
> + -DARM_COMPUTE_ARCH=armv7-a \
> + -DENABLE_NEON=ON \
> + -DENABLE_SVE=OFF \
> + -DENABLE_SVE2=OFF \
> + -DARM_COMPUTE_ENABLE_BF16=OFF \
> + -DARM_COMPUTE_ENABLE_FIXED_FORMAT_KERNELS=OFF \
> +"
> +
> +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
next prev parent reply other threads:[~2025-02-05 20:07 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-03 18:59 [meta-arago][scarthgap/master][PATCH 0/4] Add ML frameworks Andrew Davis
2025-02-03 18:59 ` [meta-arago][scarthgap/master][PATCH 1/4] meta-arago-extras: Add recipe for arm-compute-library Andrew Davis
2025-02-05 20:07 ` Denys Dmytriyenko [this message]
2025-02-05 20:27 ` Andrew Davis
2025-02-03 18:59 ` [meta-arago][scarthgap/master][PATCH 2/4] meta-arago-extras: Add recipe for Arm NN Andrew Davis
2025-02-05 20:12 ` Denys Dmytriyenko
2025-02-05 20:55 ` Andrew Davis
2025-02-03 18:59 ` [meta-arago][scarthgap/master][PATCH 3/4] meta-arago-extras: Add recipe for ONNX Andrew Davis
2025-02-03 18:59 ` [meta-arago][scarthgap/master][PATCH 4/4] meta-arago-extras: Add recipe for ONNX Runtime Andrew Davis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250205200738.GN21608@denix.org \
--to=denis@denix.org \
--cc=afd@ti.com \
--cc=c-shilwant@ti.com \
--cc=denys@konsulko.com \
--cc=meta-arago@lists.yoctoproject.org \
--cc=reatmon@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.