Hardware Partitioning for Enhanced Isolation and Resource Management in Mali-G78AE GPUs - Hardware Partitioning for Enhanced Isolation and Resource Management in Mali-G78AE GPUs - WP557

Decoding the Versal AI Edge Series Gen 2 and Prime Series Gen 2 GPU for Next-Gen Visualization (WP557)

Document_ID
WP557
Release_Date
2025-01-03
Revision
1.0 English

The Mali-G78AE GPU features a dedicated partition manager that enables the hardware to be divided into multiple independent processing units, effectively functioning as separate GPUs. Each partition possesses its own set of tiler and shader cores, with the allocation of shader cores dynamically configurable at runtime through arbiter reconfiguration.

Enhanced isolation for safety-critical applications
By dedicating specific partitions to safety-critical virtual machines (VMs), complete isolation of GPU resources is achieved, ensuring the integrity and reliability of critical workloads.
Improved cost-effectiveness and power efficiency
Hardware partitioning provides a more efficient alternative to employing multiple discrete GPUs, reducing both system cost and power consumption.
Dynamic resource allocation
The ability to dynamically reconfigure partitions allows for optimal resource utilization. GPU cores can be allocated to VMs based on real-time demand, either by switching access to a larger partition or resizing the existing one.
Figure 1. Conceptual GPU Device (Mali-G78AE)

The implementation of hardware separation involves organizing GPU resources into the following key structures:

Slices
Shader cores are grouped into hardware units called slices. Each slice possesses its own tiler and a fixed number of shader cores determined by the hardware implementation. The slice serves as the fundamental unit for GPU resource allocation.
Partitions
A partition can be considered an independent GPU, comprised of one or more dynamically grouped slices. When multiple slices are assigned to a partition, only the tiler from the first slice is active, while the tilers of other slices within the partition are disabled.

Further enhancing isolation, the GPU is accessed through one of three dedicated AXI buses: AXI-A, AXI-B, and AXI-C. This separation supports various safety-critical use cases:

AXI-A
Typically used by non-critical clusters running quality-managed software, such as Android VMs.
AXI-B
Dedicated to safety-critical clusters executing safety-critical workloads, ensuring maximum isolation and reliability.
AXI-C
Employed by safety islands responsible for resource allocation and error handling, further reinforcing system integrity.

The conceptual diagram of the Arm Mali-G78AE GPU highlights its advanced architecture and comprehensive support for various display protocols and APIs, including FBDEV and Wayland. It also offers extensive API compatibility with Vulkan™ 1.4, Vulkan SC 1.0, OpenGL™ ES 3.2, OpenGL SC 2.0, and OpenCL™ 3.0. The hardware partitioning capabilities of the Mali-G78AE provide a robust and flexible mechanism for managing GPU resources, enabling efficient allocation, workload isolation, and support for diverse safety requirements. This makes the Mali-G78AE ideal for complex, multi-application environments common in automotive and industrial applications.