Abstract

We present TChem, a performance portable software toolkit to enable the analysis of complex kinetic mechanisms. The software provides tools for gas-phase and surface chemistry, thermodynamic properties, and implements formulations for several canonical reactor models. Analytical derivatives necessary to construct Jacobian matrices corresponding to all implemented functionalities are available through automatic differentiation. TChem uses the Kokkos framework to achieve portability across multiple heterogeneous computing platforms with a single version of the code. We implement a hierarchical parallelism framework to enable efficient chemical source term and thermodynamic property evaluations over the number of samples assigned to the local computing device. We analyze parallel efficiency results extracted from test cases for thermodynamic properties, source terms, and Jacobians evaluations on Intel Xeon CPUs and NVIDIA Volta GPUs. Program summaryProgram Title: TChemCPC Library link to program files:https://doi.org/10.17632/25prt5g35w.1Developer's repository link:https://github.com/sandialabs/TChemLicensing provisions: BSD 2-clauseProgramming language: C++Nature of problem: TChem seeks efficient solutions of models that involve complex chemical kinetic mechanisms, which are essential for various applications areas such as combustion modeling, atmospheric chemistry and catalysis. In general, a detailed chemical kinetic mechanism involves a number of species and associated elementary reactions. The system of governing equations is typically highly non-linear and stiff, involving a large range of time scales.Solution method: TChem provides source term functions and numerical/analytic Jacobians for canonical reactor models. In particular, the analytic Jacobian is computed using automatic differentiation techniques implemented in the SACADO library. For solving stiff time ODE/DAE systems, TChem uses the Tines implementation of an adaptive 2nd-order backward difference formula to obtain efficient solutions that evolve on a range of time scales. The software employs batch parallelism to exploit massively parallel modern computing devices. Target workflows correspond to reactive flow problems or uncertainty quantification studies, which require the solutions of many samples corresponding to different grid points or input conditions. The software provides performance portable implementations aiming to use modern heterogeneous computing platforms i.e., multi/many core host processors with external GPU accelerators. We achieve the performance portability using the Kokkos parallel programming model that enables translation of a single Kokkos implementation to multiple device-specific backend codes.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call