Skip to content

Commit 0825d60

Browse files
committed
docs: Add instructions for single-ISA CMake builds
Added detailed instructions to the user guide on how to build using CMake for single-ISA configurations. Resolves: COMPMID-8550 Signed-off-by: Dennis Wildmark <dennis.wildmark@arm.com> Change-Id: Ib402da1dccecf0208a38061465e64e7a47134a92
1 parent 94901a0 commit 0825d60

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

docs/user_guide/how_to_build_and_run_examples.dox

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -531,6 +531,11 @@ Available build options:
531531
- ARM_COMPUTE_ENABLE_CPPTHREADS: Enable C++11 threads backend
532532
- ARM_COMPUTE_ENABLE_OPENMP: Enable OpenMP backend
533533
- ARM_COMPUTE_ENABLE_ASSERTS: Enable runtime asserts
534+
- ARM_COMPUTE_ENABLE_CODE_COVERAGE: Enable code coverage.
535+
- ARM_COMPUTE_ENABLE_SANITIZERS: Enable sanitizers.
536+
- ARM_COMPUTE_USE_LIBCXX: Use libcxx instead of the default stdlib.
537+
- ACL_MULTI_ISA: Build Multi-ISA (defaults to enabled)
538+
- ACL_ARCH_FEATURES: Comma separated features list (sve,sve2,sme2). Only applies if ACL_MULTI_ISA is disabled
534539

535540
@subsubsection S1_8_2_3_example_builds Example builds
536541

@@ -539,6 +544,34 @@ To build libraries, examples and tests:
539544
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DARM_COMPUTE_ENABLE_OPENMP=1 -DARM_COMPUTE_BUILD_EXAMPLES=1 -DARM_COMPUTE_BUILD_TESTING=1
540545
cmake --build build -j32
541546

547+
@subsubsection S1_8_2_4_single_isa_builds Single ISA builds
548+
549+
CMake also supports building for a single ISA. Effectively it guarantees to use the same -march argument for all of the libraries built. Some of the libs require certain features to build, so if they aren't available for the selected march, they will not be built.
550+
551+
To achieve a single-ISA build:
552+
- ACL_MULTI_ISA option must be disabled (OFF).
553+
- ACL_ARCH_ISA must be set to the desired ISA.
554+
- (optional) ACL_ARCH_FEATURES should contain the optional features desired.
555+
556+
To build single-ISA libraries for armv8-a:
557+
558+
cmake -S . -B build-v8a -DCMAKE_BUILD_TYPE=Release \
559+
-DACL_MULTI_ISA=OFF -DACL_ARCH_ISA=armv8-a
560+
cmake --build build-v8a -j
561+
562+
To build single-ISA libraries for armv8.2-a with SVE support:
563+
564+
cmake -S . -B build-v82+sve -DCMAKE_BUILD_TYPE=Release \
565+
-DACL_MULTI_ISA=OFF -DACL_ARCH_ISA=armv8.2-a -DACL_ARCH_FEATURES=sve
566+
cmake --build build-v82+sve -j
567+
568+
To build single-ISA libraries for armv8.6-a with SVE, SVE2, and SME2 support:
569+
570+
cmake -S . -B build-v86+sve+sve2+sme2 -DCMAKE_BUILD_TYPE=Release \
571+
-DACL_MULTI_ISA=OFF -DACL_ARCH_ISA=armv8.6-a -DACL_ARCH_FEATURES="sve, sve2, sme2"
572+
cmake --build build-v86+sve+sve2+sme2 -j
573+
574+
542575
@section S1_9_fixed_format Building with support for fixed format kernels
543576

544577
@subsection S1_9_1_intro_to_fixed_format_kernels What are fixed format kernels?

0 commit comments

Comments
 (0)