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 <[email protected]>
> ---
> ...-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"
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#15817):
https://lists.yoctoproject.org/g/meta-arago/message/15817
Mute This Topic: https://lists.yoctoproject.org/mt/110977541/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-