Search papers, labs, and topics across Lattice.
This paper details advancements in the Awkward Array library's GPU backend, focusing on optimizing the processing of nested, variable-length data crucial for high-energy physics analyses. By implementing CUDA-based solutions and enhancing memory management and segmented reduction algorithms, the authors significantly boost GPU throughput for irregular workloads while maintaining compatibility with the existing Python programming model. Benchmark results demonstrate the superior performance of the new GPU implementations compared to traditional CPU and CuPy approaches, highlighting the practical benefits for researchers in the field.
GPU-accelerated processing of irregular data structures can now achieve unprecedented throughput, transforming high-energy physics analyses.
Awkward Array is a Python library for representing and processing nested, variable-length data that is widely used in high-energy physics. As HL-LHC analyses increasingly rely on accelerator hardware, efficient execution of irregular workloads has become essential. While dense numerical arrays map naturally to GPUs, nested and variable-length data structures remain significantly more difficult to accelerate because they require indirect indexing, segmented operations, and irregular memory access patterns. We present recent developments in the Awkward Array GPU backend, including CUDA implementations built on NVIDIA CUDA Core Compute Libraries (CCCL), optimized memory management, and segmented reduction algorithms for ragged arrays. These developments preserve the existing Python programming model while substantially improving GPU throughput on irregular workloads. We describe the backend architecture, automated validation framework, and benchmark results comparing CPU, CuPy, and CUDA implementations.