Computational Benefit of GPU Optimization for the Atmospheric Chemistry Modeling. (13th August 2018) - Sun, Jian; Fu, Joshua S.; Drake, John B.; Zhu, Qingzhao; Haidar, Azzam; Gates, Mark; Tomov, Stanimire; Dongarra, Jack
Abstract: Global chemistry‐climate models are computationally burdened as the chemical mechanisms become more complex and realistic. Optimization for graphics processing units (GPU) may make longer global simulation with regional detail possible, but limited study has been done to explore the potential benefit for the atmospheric chemistry modeling. Hence, in this study, the second‐order Rosenbrock solver of the chemistry module of CAM4‐Chem is ported to the GPU to gauge potential speed‐up. We find that on the CPU, the fastest performance is achieved using the Intel compiler with a block interleaved memory layout. Different combinations of compiler and memory layout lead to 11.02× difference in the computational time. In contrast, the GPU version performs the best when using a combination of fully interleaved memory layout with block size equal to the warp size, CUDA streams for independent kernels, and constant memory. Moreover, the most efficient data transfer between CPU and GPU is gained by allocating the memory contiguously during the data initialization on the GPU. Compared to one CPU core, the speed‐up of using one GPU alone reaches a factor of 11.7× for the computation alone and 3.82× when the data transfer between CPU and GPU is considered. Using one GPU alone is also generally faster than the multithreaded implementation for 16 CPU cores in a compute node and the single‐source solution (OpenACC). The best performance is achieved by the implementation of the hybrid CPU/GPU version, but rescheduling the workload among the CPU cores is required before the practical CAM4‐Chem simulation. Key Points: A combination of fully interleaved memory layout, CUDA streams, and constant memory yields the best performance on the GPU The Intel compiler with block‐interleaved memory layout provides the best performance on the CPU The GPU version achieves a factor of 11.7× speed‐up for computation alone and 3.82× speed‐up when the data transfer is considered