Files
openairinterface5g/openair1/PHY/TOOLS
Raymond Knopp a7bc282302 First-level of support for new aarch64 machines
Testing on Neoverse N1 (Ampere 3GHz). Tested only on a subset of phy-simulators.

- Changes:
- use SIMDE consistently
- adaptations of LDPC decoder generator for ARMv8 performance
- SIMDe modifications of Intel CRC to allow for aarch64 build.
  optimizations for 128-bit to improve performance of LDPC encode/decode
  on aarch64 (Neoverse 1)
- added BG2 files for 128-bit ldpc encoder (aarch64)
- testing on Xeon
- testing on x86
- minor changes to build/run on x86
- change in crc.h after returning to aarch64
- removed some warning in ldpc decoder generator for x86_64
- char
- Delete irrelevant constants
- Correctly declare variables
- Define stdbool for all architectures
- Remove definition of _MM_SHUFFLE and use SIMDE_MM_SHUFFLE
- Remove commented code
- Fix CMakeLists.txt
- Include SIMDE avx2 functions in tools_defs.h
2023-09-13 17:19:20 +02:00
..
2022-03-24 14:38:17 +01:00
2023-07-07 08:35:28 +02:00
2017-10-23 12:22:13 +02:00
2023-04-28 16:25:24 +02:00
2018-06-28 14:15:15 +02:00
2017-10-23 12:22:13 +02:00
2017-10-23 12:22:13 +02:00
2021-03-29 21:50:06 +02:00
2017-10-23 12:22:13 +02:00
2023-02-23 16:31:04 +01:00
2019-02-12 10:12:07 +01:00
2019-02-12 10:12:07 +01:00
2022-10-14 09:14:18 +02:00
2017-10-23 12:22:13 +02:00

xForms-based Scope

How to run and troubleshooting

To compile OAI, build with scope support:

./build_oai --build-lib nrscope ...

To use the scope, run the xNB or the UE with option -d. If you receive the error

In fl_initialize() [flresource.c:995]: 5G-gNB-scope: Can't open display :0
In fl_bgn_form() [forms.c:347]: Missing or failed call of fl_initialize()

you can allow root to open X windows:

xhost +si:localuser:root

Usage in gdb with Scope enabled

In gdb, when you break, you can refresh immediately the scope view by calling the display function. The first parameter is the graph context, nevertheless we keep the last value for a dirty call in gdb (so you can use '0')

Example with no variable known

phy_scope_nrUE(0, PHY_vars_UE_g[0][0], 0, 0, 0)

or

phy_scope_gNB(0, phy_vars_gnb, phy_vars_ru, UE_id)

Qt-based Scope

Building Instructions

For the new qt-based scope designed for NR, please consider the following:

  1. run the gNB or the UE with the option '--dqt'.

  2. make sure to install the Qt5 packages before running the scope. Otherwise, the scope will NOT be displayed! Note that Qt6 does NOT work.

  3. To build the new scope, add 'nrqtscope' after the '--build-lib' option. So, the complete command would be

    ./build_oai --gNB -w USRP --nrUE --build-lib nrqtscope
    

New Features

  1. New KPIs for both gNB and UE, e.g., BLER, MCS, throughout, and number of scheduled RBs.
  2. For each of the gNB and UE, a main widget is created with a 3x2 grid of sub-widgets, each to display one KPI.
  3. Each of the sub-widgets has a drop-down list to choose the KPI to show in that sub-widget.
  4. Both of the gNB and UE scopes can be resized using the mouse movement.

Troubleshoot

Similar as with the Xforms-based scope, you should allow root to open X windows:

xhost +si:localuser:root

Furthermore, if you get the following error (might be followed by a segfault)

QStandardPaths: wrong ownership on runtime directory /run/user/1000, 1000 instead of 0

You have to set the XDG runtime directory like one of the following options (try in order):

sudo -E XDG_RUNTIME_DIR=/run/user/0 ./nr-softmodem ...
sudo -E XDG_RUNTIME_DIR=/tmp/runtime-root ./nr-softmodem ...
sudo -E XDG_RUNTIME_DIR= ./nr-softmodem ...