Overview#

NVIDIA AI Aerial CUDA-Accelerated RAN (ACAR) is an SDK (Software Development Kit) for building commercial-grade, AI-native, 3GPP, and O-RAN compliant 5G/6G gNB software on NVIDIA accelerated computing platforms. It is software-defined, scalable and open.

ACAR provides O-DU Low and some MAC functionality in an O-RAN 7.2x split architecture - It connects to O-DU High upper layers using SCF FAPI (Small Cell Forum Functional Application Platform Interface) over NVIPC and to O-RU lower layers over open Fronthaul (FH) interface - It connects to dApps using the E3 interface, enabling real-time functionality extensions on top of the RAN stack - It supports OAM functionality like configuration management, logging, and platform/channel metrics collection

The SDK includes tools for development, test, data collection and AI/ML training - TestMAC emulates the MAC and higher layers to test L1 - RU Emulator models the O-RAN fronthaul and validates packet timing, structure, and IQ data handling - pyAerial is a Python library of bit-accurate, GPU-accelerated L1 CUDA kernels used by ACAR L1, which can be called by Python PHY pipelines. It can be used for prototyping, simulation, and AI/ML experimentation before moving to real-time operation–Data Lake captures L1 and L2 data from the DU and O-RUs and stores it in a database. It can be used for offline analysis and training data generation by tools such as pyAerial. It can also be used in real time by dApps Framework, which interfaces with dApps over the E3 interface

Hardware Architecture#

ACAR runs on general purpose NVIDIA accelerated computing platforms that include CPUs, GPUs and NICs (Network Interface Cards). The CPU handles system orchestration and host-side control tasks, while the GPU accelerates compute-intensive L1 and L2 processing inline without the need for fixed function accelerators. NICs provide high throughput, PTP-capable (Precision Time Protocol) network paths for the fronthaul between the O-DU and O-RUs and midhaul between the O-CU and O-DU. Zero-copy techniques such as GPUDirect RDMA facilitate high throughput data transfer.

On platforms that support it, MIG (Multi-Instance GPU) enables partitioning the GPU into fully isolated resources with their own high-bandwidth memory, cache and compute cores. It enables different workloads, such as (Aerial RAN + dApps) and (Aerial RAN + AI inference) to run on the same hardware platform. While MIG enables sandboxed operation and GPU utilization optimization, it is not necessary to run workloads such as (Aerial RAN + dApps).

Software Architecture#

cuBB is the overall component that contains cuPHY, an inline, GPU-accelerated L1/PHY processing library, and cuMAC, a GPU-accelerated MAC library. cuBB operation spans CPU, GPU and NICs hardware components and control, operational and management planes. It is written in C++/CUDA.

cuPHY is responsible for configuring the system at initialization, orchestrating work on the CPU, GPU and NICs, interfacing to L2 using FAPI over NVIPC, interfacing to O-RUs over fronthaul and running PHY pipelines like PUSCH on the GPU.

cuMAC performs various O-DU scheduling tasks, such as UE scheduling, PRB allocation, link adaptation and MU-MIMO user pairing. It offloads these compute-heavy and parallelizable scheduling tasks from the CPU to the GPU.