PoKiTT: exposing task and data parallelism on heterogeneous architectures for detailed chemical kinetics, transport, and thermodynamics calculations. Simulating combustion provides detailed insights into the interplay between fluid flow, molecular diffusion, and chemical reactions. However, the breadth of state of the art simulations is restricted by both hardware capacity and software capability. In this paper we introduce PoKiTT, a library of detailed thermochemical calculations which runs on heterogeneous and parallel architectures including CPUs, GPUs, and Xeon Phi coprocessors. PoKiTT leverages both data parallelism, by using large computational domains, and task parallelism, by using directed acyclic graphs for scheduling. When compared against Cantera, PoKiTT’s executions are up to 4× faster while using one CPU core. Running PoKiTT on 16 CPU cores improves execution speeds by up to 13×, and running on a GPU improves speeds by up to 40×. PoKiTT reduces the execution time, relative to one CPU core, for an illustrative simulation of methanol combustion by 9× using 16 CPU cores and 25× using a GPU.

Keywords for this software

Anything in here will be replaced on browsers that support the canvas element