From ee9050089e391e598cd58e05bc7a07597a6d1db0 Mon Sep 17 00:00:00 2001 From: Gunes Bayir Date: Fri, 25 Feb 2022 15:20:00 +0000 Subject: Unify aarch64 arch names in documentation This patch addresses the confusion in our documentation and errata by unifying different aliases for our architecture names. For example, armv8a and arm64-v8a refers to the same arch, as armv8.2-a and arm64-v8.2-a are. Resolves: COMPMID-4997 Change-Id: Id08f7a27363abbd2de75b2db96a91417e559417a Signed-off-by: Gunes Bayir Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7224 Tested-by: Arm Jenkins Reviewed-by: Pablo Marquez Tello Comments-Addressed: Arm Jenkins --- docs/user_guide/errata.dox | 4 ++-- docs/user_guide/how_to_build_and_run_examples.dox | 28 +++++++++++------------ docs/user_guide/introduction.dox | 20 ++++++++-------- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/docs/user_guide/errata.dox b/docs/user_guide/errata.dox index 56a0e789e8..ccaf4d82e3 100644 --- a/docs/user_guide/errata.dox +++ b/docs/user_guide/errata.dox @@ -78,12 +78,12 @@ namespace arm_compute - Arm® Mali™ DDK r1p0 - r8p0, and - Linux kernel >= 4.4 -- (COMPMID-5137) On Android with arm64-v8a/arm64-v8.2-a architecture, Arm® Neon™ validation tests can fail when compiled using Android Ndk +- (COMPMID-5137) On Android with armv8a/armv8.2-a architecture, Arm® Neon™ validation tests can fail when compiled using Android Ndk >= r18b in debug mode (https://github.com/android/ndk/issues/1135). - Versions Affected: >= v19.11 - OSs Affected: Android - Conditions: - - arm64-v8a/arm64-v8.2-a architecture, and + - armv8a/armv8.2-a architecture, and - Compiled using Android NDK >= r18b in debug mode. - (COMPMID-4288) An issue has been identified with CLCast. diff --git a/docs/user_guide/how_to_build_and_run_examples.dox b/docs/user_guide/how_to_build_and_run_examples.dox index 35229f778a..f2f88c9b32 100644 --- a/docs/user_guide/how_to_build_and_run_examples.dox +++ b/docs/user_guide/how_to_build_and_run_examples.dox @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2017-2021 Arm Limited. +/// Copyright (c) 2017-2022 Arm Limited. /// /// SPDX-License-Identifier: MIT /// @@ -41,7 +41,7 @@ To see the build options available simply run ```scons -h```: logging: Logging (this flag is forced to 1 for debug=1) (yes|no) default: False - arch: Target Architecture (armv7a|arm64-v8a|arm64-v8.2-a|arm64-v8.2-a-sve|arm64-v8.2-a-sve2|x86_32|x86_64|armv8a|armv8.2-a|armv8.2-a-sve|armv8.6-a|armv8.6-a-sve|armv8.6-a-sve2|armv8r64|x86) + arch: Target Architecture (armv7a|x86_32|x86_64|armv8a|armv8.2-a|armv8.2-a-sve|armv8.2-a-sve2|armv8.6-a|armv8.6-a-sve|armv8.6-a-sve2|armv8r64|x86) default: armv7a estate: Execution State (auto|32|64) @@ -253,11 +253,11 @@ To cross-compile the library in debug mode, with Arm® Neon™ only support, for To cross-compile the library in asserts mode, with OpenCL only support, for Linux 64bit: - scons Werror=1 -j8 debug=0 asserts=1 neon=0 opencl=1 embed_kernels=1 os=linux arch=arm64-v8a + scons Werror=1 -j8 debug=0 asserts=1 neon=0 opencl=1 embed_kernels=1 os=linux arch=armv8a You can also compile the library natively on an Arm device by using build=native: - scons Werror=1 -j8 debug=0 neon=1 opencl=0 os=linux arch=arm64-v8a build=native + scons Werror=1 -j8 debug=0 neon=1 opencl=0 os=linux arch=armv8a build=native scons Werror=1 -j8 debug=0 neon=1 opencl=0 os=linux arch=armv7a build=native @note g++ for Arm is mono-arch, therefore if you want to compile for Linux 32bit on a Linux 64bit platform you will have to use a cross compiler. @@ -342,7 +342,7 @@ i.e. to natively compile the "graph_lenet" example for Linux 64bit: @note If compiling using static libraries, this order must be followed when linking: arm_compute_graph_static, arm_compute, arm_compute_core -@note These two commands assume libarm_compute.so is available in your library path, if not add the path to it using -L (e.g. -Llib/linux-arm64-v8a-neon-cl-asserts/) +@note These two commands assume libarm_compute.so is available in your library path, if not add the path to it using -L (e.g. -Llib/linux-armv8a-neon-cl-asserts/) @note You might need to export the path to OpenCL library as well in your LD_LIBRARY_PATH if Compute Library was built with OpenCL enabled. To run the built executable simply run: @@ -372,14 +372,14 @@ In order to build for SVE or SVE2 you need a compiler that supports them. You ca An example build command with SVE is: - scons arch=arm64-v8.2-a-sve os=linux build_dir=arm64 -j55 standalone=0 opencl=0 openmp=0 validation_tests=1 neon=1 cppthreads=1 toolchain_prefix=aarch64-none-linux-gnu- + scons arch=armv8.2-a-sve os=linux build_dir=arm64 -j55 standalone=0 opencl=0 openmp=0 validation_tests=1 neon=1 cppthreads=1 toolchain_prefix=aarch64-none-linux-gnu- @section S1_3_android Building for Android For Android, the library was successfully built and tested using Google's standalone toolchains: - clang++ from NDK r18b for armv7a - - clang++ from NDK r20b for arm64-v8a - - clang++ from NDK r20b for arm64-v8.2-a with FP16 support + - clang++ from NDK r20b for armv8a + - clang++ from NDK r20b for armv8.2-a with FP16 support For NDK r18 or older, here is a guide to create your Android standalone toolchains from the NDK: - Download the NDK r18b from here: https://developer.android.com/ndk/downloads/index.html to directory $NDK @@ -406,7 +406,7 @@ To cross-compile the library in debug mode, with Arm® Neon™ only support, for To cross-compile the library in asserts mode, with OpenCL only support, for Android 64bit: - CXX=clang++ CC=clang scons Werror=1 -j8 debug=0 asserts=1 neon=0 opencl=1 embed_kernels=1 os=android arch=arm64-v8a + CXX=clang++ CC=clang scons Werror=1 -j8 debug=0 asserts=1 neon=0 opencl=1 embed_kernels=1 os=android arch=armv8a @subsection S1_3_2_examples How to manually build the examples ? @@ -479,7 +479,7 @@ The library was successfully natively built for Apple Silicon under macOS 11.1 u To natively compile the library with accelerated CPU support: - scons Werror=1 -j8 neon=1 opencl=0 os=macos arch=arm64-v8a build=native + scons Werror=1 -j8 neon=1 opencl=0 os=macos arch=armv8a build=native @note Initial support disables feature discovery through HWCAPS and thread scheduling affinity controls @@ -487,17 +487,17 @@ To natively compile the library with accelerated CPU support: For bare metal, the library was successfully built using linaro's latest (gcc-linaro-6.3.1-2017.05) bare metal toolchains: - arm-eabi for armv7a - - aarch64-elf for arm64-v8a + - aarch64-elf for armv8a -Download linaro for armv7a and arm64-v8a. +Download linaro for armv7a and armv8a. @note Make sure to add the toolchains to your PATH: export PATH=$PATH:$MY_TOOLCHAINS/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-elf/bin:$MY_TOOLCHAINS/gcc-linaro-6.3.1-2017.05-x86_64_arm-eabi/bin @subsection S1_5_1_library How to build the library ? -To cross-compile the library with Arm® Neon™ support for baremetal arm64-v8a: +To cross-compile the library with Arm® Neon™ support for baremetal armv8a: - scons Werror=1 -j8 debug=0 neon=1 opencl=0 os=bare_metal arch=arm64-v8a build=cross_compile cppthreads=0 openmp=0 standalone=1 + scons Werror=1 -j8 debug=0 neon=1 opencl=0 os=bare_metal arch=armv8a build=cross_compile cppthreads=0 openmp=0 standalone=1 @subsection S1_5_2_examples How to manually build the examples ? diff --git a/docs/user_guide/introduction.dox b/docs/user_guide/introduction.dox index 3c0483eea8..fb483fc134 100644 --- a/docs/user_guide/introduction.dox +++ b/docs/user_guide/introduction.dox @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2017-2021 Arm Limited. +/// Copyright (c) 2017-2022 Arm Limited. /// /// SPDX-License-Identifier: MIT /// @@ -35,7 +35,7 @@ The Compute Library is a collection of low-level machine learning functions opti Several builds of the library are available using various configurations: - OS: Linux, Android, macOS or bare metal. - - Architecture: armv7a (32bit) or arm64-v8a (64bit). + - Architecture: armv7a (32bit) or armv8a (64bit). - Technology: Arm® Neon™ / OpenCL / Arm® Neon™ and OpenCL. - Debug / Asserts / Release: Use a build with asserts enabled to debug your application and enable extra validation. Once you are sure your application works as expected you can switch to a release build of the library for maximum performance. @@ -51,7 +51,7 @@ Several builds of the library are available using various configurations: armv7a gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf - arm64-v8a + armv8a gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu armv8.2-a @@ -63,7 +63,7 @@ Several builds of the library are available using various configurations: armv7a NDK r18b - arm64-v8a + armv8a armv8.2-a @@ -87,13 +87,13 @@ For each release we provide some pre-built binaries of the library [here](https: These binaries have been built using the following toolchains: - Linux armv7a: gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf - - Linux arm64-v8a: gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu - - Linux arm64-v8.2-a: gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu - - Linux arm64-v8.2-a (multi-ISA binary): gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu - - Linux armv8.2a-sve: gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu + - Linux armv8a: gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu + - Linux armv8.2-a: gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu + - Linux armv8.2-a (multi-ISA binary): gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu + - Linux armv8.2-a-sve: gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu - Android armv7a: clang++ / libc++ NDK r20b - - Android am64-v8a: clang++ / libc++ NDK r20b - - Android arm64-v8.2-a: clang++ / libc++ NDK r20b + - Android armv8a: clang++ / libc++ NDK r20b + - Android armv8.2-a: clang++ / libc++ NDK r20b @warning Make sure to use a compatible toolchain to build your application or you will get some std::bad_alloc errors at runtime. -- cgit v1.2.1