Title :
Automatic Generation of Multicore Chemical Kernels
Author :
Linford, John C. ; Michalakes, John ; Vachharajani, Manish ; Sandu, Adrian
Author_Institution :
Dept. of Comput. Sci., Virginia Polytech. Inst. & State Univ., Blacksburg, VA, USA
Abstract :
Abstract-This work presents the Kinetics Preprocessor: Accelerated (KPPA), a general analysis and code generation tool that achieves significantly reduced time-to-solution for chemical kinetics kernels on three multicore platforms: NVIDIA GPUs using CUDA, the Cell Broadband Engine, and Intel Quad-Core Xeon CPUs. A comparative performance analysis of chemical kernels from WRFChem and the Community Multiscale Air Quality Model (CMAQ) is presented for each platform in double and single precision on coarse and fine grids. We introduce the multicore architecture parameterization that KPPA uses to generate a chemical kernel for these platforms and describe a code generation system that produces highly tuned platform-specific code. Compared to state-of-the-art serial implementations, speedups exceeding 25x are regularly observed, with a maximum observed speedup of 41.1x in single precision.
Keywords :
atmospheric chemistry; chemistry computing; environmental science computing; microprocessor chips; multiprocessing systems; parallel architectures; program compilers; reaction kinetics; software tools; CMAQ; CUDA; Intel Quad-Core Xeon CPUs; KPPA; NVIDIA GPU; WRF-Chem; automatic generation; cell broadband engine; chemical kinetics kernel; code generation tool; community multiscale air quality model; kinetics preprocessor accelerated; multicore architecture; multicore chemical kernel; Atmospheric modeling; Chemical analysis; Chemistry; Computational modeling; Computer architecture; Engines; Kernel; Kinetic theory; Meteorology; Predictive models; CMAQ.; Cell Broadband Engine; KPPA; Kinetics PreProcessor; NVIDIA CUDA; OpenMP; WRF-Chem; atmospheric modeling; chemical kinetics; multicore;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
DOI :
10.1109/TPDS.2010.106