×

PoKiTT: exposing task and data parallelism on heterogeneous architectures for detailed chemical kinetics, transport, and thermodynamics calculations. (English) Zbl 1382.80001

Detailed modelling of combustion is very hard from the computational point of view as it involves simulation of chemical reactions, thermodynamic processes and fluid or gas flow. To accelerate calculations, parallel computing is necessary, that may be maintained using multicore CPUs, GPUs and Xeon Phi coprocessors.
For these purposes the listed PoKiTT software package has been developed; PoKiTT means portable kinetics, thermodynamics and transport. It uses the known toolkit Cantera as preprocessor but has several significant advantages compared with this toolkit. First, the code is optimized to perform less arithmetic operations while calculating thermodynamical and transport properties of reacting species. Second, a directed acyclic graph (DAG) is used to schedule the computations. The nodes of DAG are computational tasks and its edges are data dependencies between the tasks. Third, to manage GPUs and multicore CPUs effectively, PoKiTT uses the domain specific language Nebo.
Serial and parallel computations using three different benchmarks show that PoKiTT accelerates calculations greatly in comparison with Cantera.

MSC:

80-04 Software, source code, etc. for problems pertaining to classical thermodynamics
80A32 Chemically reacting flows
68W10 Parallel algorithms in computer science
65Y05 Parallel numerical computation
65Y10 Numerical algorithms for specific classes of architectures
65Y20 Complexity and performance of numerical algorithms
68M20 Performance evaluation, queueing, and scheduling in the context of computer systems
68U20 Simulation (MSC2010)
Full Text: DOI

References:

[1] M. Bauer, S. Treichler, and A. Aiken, {\it Singe}, in Proceedings of the 19th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP ’14), 2014, pp. 119-130, .
[2] B. R. Bird, W. E. Stewart, and E. N. Lightfoot, {\it Transport Phenomena}, Wiley, New York, 2007.
[3] D. D. J. Chandar, J. Sitaraman, and D. Mavriplis, {\it CU++: An object oriented framework for computational fluid dynamics applications using graphics processing units}, J. Supercomput., 67 (2013), pp. 47-68, .
[4] J. H. Chen, {\it Petascale direct numerical simulation of turbulent combustion - Fundamental insights towards predictive models}, P. Combust. Inst., 33 (2011), pp. 99-123, .
[5] H. J. Curran, P. Gaffuri, W. J. Pitz, and C. K. Westbrook, {\it A comprehensive modeling study of iso-octane oxidation}, Combust. Flame, 129 (2002), pp. 253-280, .
[6] C. Earl, M. Might, A. Bagusetty, and J. C. Sutherland, {\it Nebo: An efficient, parallel, and portable domain-specific language for numerically solving partial differential equations}, J. Syst. Softw., 2016, .
[7] D. Fernández-Galisteo, A. L. Sánchez, A. Lin͂án, and F. A. Williams, {\it One-step reduced kinetics for lean hydrogen-air deflagration}, Combust. Flame, 156 (2009), pp. 985-996, .
[8] M. Garland and D. B. Kirk, {\it Understanding throughput-oriented architectures}, Comm. ACM, 53 (2010), pp. 58-66, .
[9] D. G. Goodwin, H. K. Moffat, and R. L. Speth, {\it Cantera: An Object-Oriented Software Toolkit for Chemical Kinetics, Thermodynamics, and Transport Processes}, Version 2.1.2, 2014.
[10] J. O. Hirschfelder, C. F. Curtiss, R. B. Bird, and M. G. Mayer, {\it Molecular Theory of Gases and Liquids}, Wiley, New York, 1954. · Zbl 0057.23402
[11] R. J. Kee, G. Dixon-Lewis, and J. A. Miller, {\it Transport a Software Package for the Evaluation of Gas-Phase, Multicomponent Transport Properties}, manuscript, 1986.
[12] R. J. Kee, J. A. Miller, and T. H. Jefferson, {\it CHEMKIN: A General-Purpose, Problem-Independent, Transportable, FORTRAN Chemical Kinetics Code Package}, Technical report, Sandia National Laboratories, Livermore, CA, 1980.
[13] R. J. Kee, F. M. Rupley, and J. A. Miller, {\it Chemkin-II: A Fortran Chemical Kinetics Package for the Analysis of Gas-Phase Chemical Kinetics}, Technical report, Sandia National Laboratories, Livermore, CA, 1989.
[14] H. P. Le, J.-L. Cambier, and L. K. Cole, {\it GPU-based flow simulation with detailed chemical kinetics}, Comput. Phys. Commun., 184 (2013), pp. 596-606, .
[15] J. Li, Z. Zhao, A. Kazakov, M. Chaos, F. L. Dryer, and J. J. Scire, {\it A comprehensive kinetic mechanism for CO, CH2O, and CH3OH combustion}, Int. J. Chem. Kinet., 39 (2007), pp. 109-136, .
[16] S. Mathura, P. Tondona, and S. Saxena, {\it Thermal conductivity of binary, ternary and quaternary mixtures of rare gases}, Molecular Phys., 12 (1967), pp. 569-579, .
[17] B. J. Mcbride, S. Gordon, and M. A. Reno, {\it Coefficients for Calculating Thermodynamic and Transport Properties of Individual Species}, Technical Report NASA-TM-4513, 1993, .
[18] K. E. Niemeyer and C.-J. Sung, {\it Accelerating moderately stiff chemical kinetics in reactive-flow simulations using GPUs}, J. Comput. Phys., 256 (2013), pp. 854-871, . · Zbl 1349.76880
[19] K. E. Niemeyer and C.-J. Sung, {\it Recent progress and challenges in exploiting graphics processors in computational fluid dynamics}, J. Supercomput., 67 (2014), pp. 528-564.
[20] P. K. Notz, R. P. Pawlowski, and J. C. Sutherland, {\it Graph-based software design for managing complexity and enabling concurrency in multiphysics PDE software}, ACM Trans. Math. Software, 39 (2012), pp. 1-21, . · Zbl 1295.65149
[21] NVIDIA, {\it NVIDIA’s Next Generation CUDA Compute Architecture: Kepler GK \(110/210\)}, Technical report, NVIDIA, 2014.
[22] M. Ó Conaire, H. J. Curran, J. M. Simmie, W. J. Pitz, and C. K. Westbrook, {\it A comprehensive modeling study of hydrogen oxidation}, Int. J. Chem. Kinet., 36 (2004), pp. 603-622, .
[23] R. Sankaran, {\it GPU-accelerated software library for unsteady flamelet modeling of turbulent combustion with complex chemical kinetics}, in Proceedings of the 51st AIAA Aerospace Sciences Meeting including the New Horizons Forum and Aerospace Exposition, 2013, pp. 5599-5604, .
[24] Y. Shi, W. H. Green, Jr., H.-W. Wong, and O. O. Oluwole, {\it Redesigning combustion modeling algorithms for the Graphics Processing Unit (GPU): Chemical kinetic rate evaluation and ordinary differential equation integration}, Combust. Flame, 158 (2011), pp. 836-847, .
[25] G. P. Smith, D. M. Golden, M. Frenklach, N. W. Moriarty, B. Eiteneer, M. Goldenberg, C. T. Bowman, R. K. Hanson, S. Song, W. C. Gardiner, Jr., V. V. Lissianski, and Z. Qin, {\it GRI-Mech 3.0}, .
[26] K. Spafford, J. Meredith, J. Vetter, J. Chen, R. Grout, and R. Sankaran, {\it Accelerating \(S3\) D: A GPGPU case study}, in Euro-Par 2009-Parallel Processing Workshops, Springer, Berlin, Heidelberg, 2010, pp. 122-131.
[27] C. P. Stone, R. L. Davis, and B. Sekar, {\it Techniques for solving stiff chemical kinetics on GPUs}, in Proceedings of the 51st AIAA Aerospace Sciences Meeting, 2013.
[28] B. D. Taylor, D. A. Schwer, and A. Corrigan, {\it Implementation of Thermochemistry and Chemical Kinetics in a GPU-based CFD Code}, in Proceedings of the 53rd AIAA Aerospace Sciences Meeting, 2015.
[29] C. S. Yoo, T. Lu, J. H. Chen, and C. K. Law, {\it Direct numerical simulations of ignition of a lean n-heptane/air mixture with temperature inhomogeneities at constant volume: Parametric study}, Combust. Flame, 158 (2011), pp. 1727-1741, .
[30] P. Zhang and C. K. Law, {\it A fitting formula for pressure and temperature dependence of unimolecular reaction rate constants}, in Proceedings of the 6th U.S. National Combustion Meeting, 2009, .
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.