mbox series

[meta-arago,scarthgap/master,0/2] Add ARM Compute Library

Message ID 20241220164910.318809-1-afd@ti.com
Headers show
Series Add ARM Compute Library | expand

Message

Andrew Davis Dec. 20, 2024, 4:49 p.m. UTC
Hello all,

This series adds support for arm-compute-library which will be used
as the base for several other ARM based ML frameworks and apps.

This package will be sent for inclusion in meta-arm as it is ARM
produced and supported software. This will be done after the patches
here for ACL are taken into the project's upstream. We can drop
this out of meta-arago master after that.

Thanks,
Andrew

Andrew Davis (2):
  flatbuffers: Remove this recipe
  meta-arago-extras: Add recipe for arm-compute-library

 ...-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              |  79 +++++++
 .../flatbuffers/flatbuffers_1.11.0.bb         |  34 ---
 .../recipes-core/packagegroups/ti-test.bb     |   1 +
 11 files changed, 1023 insertions(+), 34 deletions(-)
 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
 delete mode 100644 meta-arago-extras/recipes-devtools/flatbuffers/flatbuffers_1.11.0.bb

Comments

Denys Dmytriyenko Dec. 20, 2024, 6:04 p.m. UTC | #1
Andrew,

We used to have older versions of arm-compute-library and ARMNN in meta-arago, 
but those were unmaintained and removed not long ago...

Just a quick look around, there's a meta-machinelearning layer from Witekio, 
that hasn't been updated for 5.5 years.

Also, meta-webos has a bit newer versions of both in rather curiously named 
recipes-upstreamable directory:

https://github.com/webosose/meta-webosose/blob/master/meta-webos/recipes-upstreamable/arm-compute-library/arm-compute-library_22.08.bb
https://github.com/webosose/meta-webosose/blob/master/meta-webos/recipes-upstreamable/armnn/armnn_22.08.bb

Maybe you can find anything useful there?



On Fri, Dec 20, 2024 at 10:49:08AM -0600, Andrew Davis via lists.yoctoproject.org wrote:
> Hello all,
> 
> This series adds support for arm-compute-library which will be used
> as the base for several other ARM based ML frameworks and apps.
> 
> This package will be sent for inclusion in meta-arm as it is ARM
> produced and supported software. This will be done after the patches
> here for ACL are taken into the project's upstream. We can drop
> this out of meta-arago master after that.
> 
> Thanks,
> Andrew
> 
> Andrew Davis (2):
>   flatbuffers: Remove this recipe
>   meta-arago-extras: Add recipe for arm-compute-library
> 
>  ...-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              |  79 +++++++
>  .../flatbuffers/flatbuffers_1.11.0.bb         |  34 ---
>  .../recipes-core/packagegroups/ti-test.bb     |   1 +
>  11 files changed, 1023 insertions(+), 34 deletions(-)
>  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
>  delete mode 100644 meta-arago-extras/recipes-devtools/flatbuffers/flatbuffers_1.11.0.bb
Andrew Davis Dec. 21, 2024, 8:05 p.m. UTC | #2
On 12/20/24 12:04 PM, Denys Dmytriyenko wrote:
> Andrew,
> 
> We used to have older versions of arm-compute-library and ARMNN in meta-arago,
> but those were unmaintained and removed not long ago...
> 

Looks like ACL and ARMNN were dropped back in 2020, the tensorflow parts finally
got dropped a couple months ago. But these were forks specific to our C7x accel HW.
What I'm doing here is upstream based and works across all devices.

> Just a quick look around, there's a meta-machinelearning layer from Witekio,
> that hasn't been updated for 5.5 years.
> 

Yeah I found that, and a couple other layers when starting this work, but they
all seem to have been abandoned. Would be nice to get a Yocto Project supported
layer for all this ML stuff.

> Also, meta-webos has a bit newer versions of both in rather curiously named
> recipes-upstreamable directory:
> 
> https://github.com/webosose/meta-webosose/blob/master/meta-webos/recipes-upstreamable/arm-compute-library/arm-compute-library_22.08.bb
> https://github.com/webosose/meta-webosose/blob/master/meta-webos/recipes-upstreamable/armnn/armnn_22.08.bb
> 
> Maybe you can find anything useful there?
> 

These were very useful and the recipes I'm posting took some inspiration
from these. They do seem to be almost upstreamable and I've even seen
some talk from a while ago on IRC on doing that but seems it never
got done, so I'll see what I can do myself on upstreaming these.

Thanks,
Andrew

> 
> 
> On Fri, Dec 20, 2024 at 10:49:08AM -0600, Andrew Davis via lists.yoctoproject.org wrote:
>> Hello all,
>>
>> This series adds support for arm-compute-library which will be used
>> as the base for several other ARM based ML frameworks and apps.
>>
>> This package will be sent for inclusion in meta-arm as it is ARM
>> produced and supported software. This will be done after the patches
>> here for ACL are taken into the project's upstream. We can drop
>> this out of meta-arago master after that.
>>
>> Thanks,
>> Andrew
>>
>> Andrew Davis (2):
>>    flatbuffers: Remove this recipe
>>    meta-arago-extras: Add recipe for arm-compute-library
>>
>>   ...-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              |  79 +++++++
>>   .../flatbuffers/flatbuffers_1.11.0.bb         |  34 ---
>>   .../recipes-core/packagegroups/ti-test.bb     |   1 +
>>   11 files changed, 1023 insertions(+), 34 deletions(-)
>>   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
>>   delete mode 100644 meta-arago-extras/recipes-devtools/flatbuffers/flatbuffers_1.11.0.bb