Robert Schmidt c3d80f8ac4 Merge remote-tracking branch 'origin/arm_fhi72' into integration_2025_w14_p2 (!3347)
feat(oran_fhlib_5g): O-RAN 7.2 FrontHaul Interface on Arm

This MR is enabling the 7.2 FHI on Arm systems.

Even though the performance are yet very bad (UE connection is very
difficult, 100Mbps DL, almost no UL), still I would like to merge this
now since the matter of making the FHI work is rather orthogonal to the
performance issues.

So merging this feature would provide a reliable settlement on top of
which we could then progressively enhance the porting of OAI to Arm.
Especially that would make our work easier by having less features to
rebase regularly on develop.

The main features this MR is made of are:

1. Make the xran patches dual

We provide patches for both E and F releases of xran that handles x86
targets as well as Arm targets. Both patches have been tested on both
types of machines (armix, broadbill).  Thanks to @brobert and @changy
for their work on xran.

2. Perform 9-bits BFP compression with ArmRAL

Since the BFP compression implementation provided with xran does rely
heavily on AVX512, we provide an alternative implementation that is
relying on Arm's RAN Acceleration Library (ArmRAL).

As of writing this commit description, only 9-bits compression is
supported. Other IQ width will be added.

This upcoming change does not prevent review to be performed since the
BFP compression functions of ArmRAL are identical except for the IQ
width. Adding further IQ width is therefore very straightforward.

3. Fixes in oran_fhlib_5g to support Arm

The library oran_fhlib_5g needed few changes to successfully compile and
run on Arm systems. Thanks to @brobert for his work on oran_fhlib_5g.
2025-04-08 10:06:06 +02:00
2025-01-31 07:50:01 +01:00
2024-10-11 09:12:49 +02:00
2023-08-23 17:15:48 +02:00
2024-11-22 14:46:10 +01:00
2024-10-11 09:12:49 +02:00
2024-03-08 15:53:42 +01:00
2022-10-18 15:24:48 +02:00

OAI

License Supported OS Ubuntu 20 Supported OS Ubuntu 22 Supported OS Ubuntu 24 Supported OS RELH9 Supported OS Fedora 41

GitLab Release (custom instance)

Docker Pulls Docker Pulls Docker Pulls Docker Pulls Docker Pulls

OpenAirInterface License

It is distributed under OAI Public License V1.1.

The license information is distributed under LICENSE file in the same directory.

Please see NOTICE file for third party software that is included in the sources.

Where to Start

Not all information is available in a central place, and information for specific sub-systems might be available in the corresponding sub-directories. To find all READMEs, this command might be handy:

find . -iname "readme*"

RAN repository structure

The OpenAirInterface (OAI) software is composed of the following parts:

openairinterface5g
├── charts
├── ci-scripts        : Meta-scripts used by the OSA CI process. Contains also configuration files used day-to-day by CI.
├── CMakeLists.txt    : Top-level CMakeLists.txt for building
├── cmake_targets     : Build utilities to compile (simulation, emulation and real-time platforms), and generated build files.
├── common            : Some common OAI utilities, some other tools can be found at openair2/UTILS.
├── doc               : Documentation
├── docker            : Dockerfiles to build for Ubuntu and RHEL
├── executables       : Top-level executable source files (gNB, eNB, ...)
├── maketags          : Script to generate emacs tags.
├── nfapi             : (n)FAPI code for MAC-PHY interface
├── openair1          : Layer 1 (3GPP LTE Rel-10/12 PHY, NR Rel-15 PHY)
├── openair2          : Layer 2 (3GPP LTE Rel-10 MAC/RLC/PDCP/RRC/X2AP, LTE Rel-14 M2AP, NR Rel-15+ MAC/RLC/PDCP/SDAP/RRC/X2AP/F1AP/E1AP), E2AP
├── openair3          : Layer 3 (3GPP LTE Rel-10 S1AP/GTP, NR Rel-15 NGAP/GTP)
├── openshift         : OpenShift helm charts for some deployment options of OAI
├── radio             : Drivers for various radios such as USRP, AW2S, RFsim, 7.2 FHI, ...
├── targets           : Some configuration files; only historical relevance, and might be deleted in the future
└── tools             : Tools for use by the developers/ci machines: code analysis and formatting

How to get support from the OAI Community

You can ask your question on the mailing lists.

Your email should contain below information:

  • A clear subject in your email.
  • For all the queries there should be [Query] in the subject of the email and for problems there should be [Problem].
  • In case of a problem, add a small description.
  • Do not share any photos unless you want to share a diagram.
  • OAI gNB/DU/CU/CU-CP/CU-UP configuration file in .conf format only.
  • Logs of OAI gNB/DU/CU/CU-CP/CU-UP in .log or .txt format only.
  • In case your question is related to performance, include a small description of the machine (Operating System, Kernel version, CPU, RAM and networking card) and diagram of your testing environment.
  • Known/open issues are present on GitLab, so keep checking.

Always remember a structured email will help us understand your issues quickly.

S
Description
No description provided
Readme
379 MiB
Languages
C 91.8%
CMake 2.9%
C++ 1.9%
TeX 1%
Python 1%
Other 1.1%