CMAQ 5.3 Parallel Efficiency with MPI and OpenMP
摘要
This report surveys the efforts underway at HiPERiSM Consulting to improve the performance and efficiency of air quality models developed by the U.S. EPA. One of these efforts focuses on introducing new levels of parallelism in the aqueous chemistry transport model CMAQ (Community Mutli-level Air Quality) model. The three available parallelism levels in commodity environments include (1) instruction level parallelism (i.e. vector instructions), (2) thread level parallelism (i.e. OpenMP), and (3) the Message Passing Interface (MPI). The U.S. EPA introduced an MPI library for CMAQ in the 1990’s but has not implemented thread level parallelism in the legacy releases since. In CMAQ the chemistry transport model (CTM) and the horizontal advection (HADV) science modules have proven to be excellent candidates for thread parallelism because their compute kernels contain suitable loop structures. A thread level version of CMAQ has been developed by HiPERiSM over the last decade and this has shown a reduction in wall clock time by factors of 1.2 to 1.5 depending on which of the three solvers the CTM uses. This report presents CMAQ model simulations for the year 2016 on the US CONUS domain for the EBI, Rosenbrock and Gear solvers in the CTM and compares the OpenMP thread enabled HiPERiSM (FSparse) version against the legacy (JSparse) algorithm.