Optimized thread-block arrangement in a GPU implementation of a linear solver for atmospheric chemistry mechanisms
Christian Guzman Ruiz, Mario Acosta, Oriol Jorba, Eduardo Cesar Galobardes, Matthew Dawson, Guillermo Oyarzun, Carlos Pérez García-Pando, Kim Serradell
TL;DR
This work tackles the high computational cost of chemical solvers in atmospheric chemistry models and introduces Block-cells, a GPU-centric strategy that distributes the solver workload across CUDA thread blocks within the CAMP framework. By coupling a GPU-accelerated BCG linear solver and reorganizing work so that each block handles multiple cells, the approach reduces costly CPU-GPU reductions and improves memory and compute utilization. Empirical results show substantial speedups: up to 35x over a single-core CPU baseline and 50% faster than a node-wide 40-core CPU, with Block-cells outperforming traditional MPI CPU deployments. The findings indicate Block-cells as a powerful path toward scalable, GPU-based chemical solvers in Earth system models, with clear avenues for extending to other solver components and hybrid architectures.
Abstract
Earth system models (ESM) demand significant hardware resources and energy consumption to solve atmospheric chemistry processes. Recent studies have shown improved performance from running these models on GPU accelerators. Nonetheless, there is room for improvement in exploiting even more GPU resources. This study proposes an optimized distribution of the chemical solver's computational load on the GPU, named Block-cells. Additionally, we evaluate different configurations for distributing the computational load in an NVIDIA GPU. We use the linear solver from the Chemistry Across Multiple Phases (CAMP) framework as our test bed. An intermediate-complexity chemical mechanism under typical atmospheric conditions is used. Results demonstrate a 35x speedup compared to the single-CPU thread reference case. Even using the full resources of the node (40 physical cores) on the reference case, the Block-cells version outperforms them by 50%. The Block-cells approach shows promise in alleviating the computational burden of chemical solvers on GPU architectures.
