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.
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 the necessary tools to build the code:
sudo apt update
sudo -E apt install -y build-essential cmake linux-tools-common gcovr doxygen
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
Navigate to the source directory and create an empty build directory:
cd ral
mkdir build
cd build
The Arm Architecture defines three vector processing technologies.
asimd)sve)sve2)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.
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 library using make:
make
Install the library:
sudo make install
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 .