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 https://git.gitlab.arm.com/networking/ral.git
        
    

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:

    

        
        
            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:

    

        
        ...

61/64 Test #61: ldpc_awgn ............................   Passed  255.05 sec
      Start 62: modulation_awgn
62/64 Test #62: modulation_awgn ......................   Passed   28.39 sec
      Start 63: polar_awgn
63/64 Test #63: polar_awgn ...........................   Passed  390.17 sec
      Start 64: turbo_awgn
64/64 Test #64: turbo_awgn ...........................   Passed  190.39 sec

100% tests passed, 0 tests failed out of 64

Total Test time (real) = 1095.82 sec
[100%] Built target check

...

        
    

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 .

Back
Next