PoKiTT: exposing task and data parallelism on heterogeneous architectures for detailed chemical kinetics, transport, and thermodynamics calculations
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.NEWLINENEWLINEFor 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.NEWLINENEWLINESerial and parallel computations using three different benchmarks show that PoKiTT accelerates calculations greatly in comparison with Cantera.
scientific article; zbMATH DE number 6645424