Get started with the Arm 5G RAN Acceleration Library (ArmRAL)

The Arm RAN Acceleration Library (ArmRAL) contains a set of functions for accelerating telecommunications applications such as, but not limited to, 5G Radio Access Networks (RANs).

ArmRAL is an open-source code base under the permissive BSD license.

Before you begin

A development machine is required to build and run ArmRAL.

You can use a local Arm server or Arm laptop or desktop machine as a development platform.

Alternatively, you can use an Arm-based instance from a cloud service provider. Refer to Get started with Arm-based cloud instances for cloud options.

The instructions are for Ubuntu or Debian Linux distributions.

Install necessary build tools

Install the necessary tools to build the code:


            sudo apt update
sudo -E apt install -y build-essential cmake linux-tools-common gcovr doxygen

Download the source code

The source code is available from the GitLab repository

Use git to download the code:


            git clone

Create a build folder

Navigate to the source directory and create an empty build directory:


            cd ral
mkdir build
cd build

Inspect the Arm processor features

The Arm Architecture defines three vector processing technologies.

To check which features are available on your platform, use:


            cat /proc/cpuinfo

Look at the flags and check for values asimd, sve, or sve2.

Use the features available on your hardware when you run cmake in the next section.

Configure the build

If your platform supports only Neon (asimd), set up the build with:


            cmake -DBUILD_TESTING=On -DARMRAL_ARCH=NEON  ..

If you have SVE support, set up the build with:


            cmake -DBUILD_TESTING=On -DARMRAL_ARCH=SVE  ..

If you have SVE2 support, set up the build with:


            cmake -DBUILD_TESTING=On -DARMRAL_ARCH=SVE2  ..

The default install location is /usr/local. If you do not have write access to this directory, set a different installation location by adding -DCMAKE_INSTALL_PREFIX=<path> to the cmake command.

For example:


            cmake -DBUILD_TESTING=On -DARMRAL_ARCH=SVE -DCMAKE_INSTALL_PREFIX=/home/ubuntu/armral ..

Build the code

Build the library using make:



Install the library

Install the library:


            sudo make install

Run the tests

Build and run the supplied benchmark example by running:


            make check

If everything runs correctly you see the message:


        100% tests passed, 0 tests failed out of 56


You will see errors if you build for optimization features that are not available:

The output will be similar to:


56/56 Test #56: tail_biting_convolutional_decoding ...***Exception: Illegal  0.05 sec

2% tests passed, 55 tests failed out of 56

Total Test time (real) =   2.80 sec

The following tests FAILED:
	  1 - fft_cf32 (ILLEGAL)



You are now ready to create applications with ArmRAL.

For a full description of available build options, see the Arm RAN Acceleration Library Reference Guide .