Author
Listed:
- Thorsten Zirwes
(Karlsruhe Institute of Technology, Steinbuch Centre for Computing)
- Feichi Zhang
(Karlsruhe Institute of Technology, Engler-Bunte-Institute)
- Jordan A. Denev
(Karlsruhe Institute of Technology, Steinbuch Centre for Computing)
- Peter Habisreuther
(Karlsruhe Institute of Technology, Engler-Bunte-Institute)
- Henning Bockhorn
(Karlsruhe Institute of Technology, Engler-Bunte-Institute)
- Dimosthenis Trimis
(Karlsruhe Institute of Technology, Engler-Bunte-Institute)
Abstract
The computation of chemical reaction rates is commonly the performance bottleneck in CFD simulations of turbulent combustion with detailed chemistry. Therefore, an optimization method is used where C++ source code is automatically generated for arbitrary reaction mechanisms. The generated code is highly optimized for the chosen mechanism and contains all routines for computing chemical reaction rates. In this work, the serial performance of the automatically generated source code, which in an earlier work only used ISO C++, is further improved by utilizing two compiler extensions: restrict and __builtin_assume_aligned. Introducing these two extensions to the generated code reduces the time for computing chemical reaction rates by up to 50% for the investigated reaction mechanism and total simulation time by up to 25%. Compared to OpenFOAM’s standard chemistry implementation, the new code is faster by a factor of 10. This work discusses the effect of the two compiler extensions on performance by looking at two specific kernel functions from the automatically generated code and the effect on the assembly generated by the gcc and Intel compilers. The newly optimized code is used to evaluate the performance gain in a large scale parallel case, which simulates an experimentally investigated turbulent flame of laboratory scale on 14,400 CPU cores on the Hazel Hen cluster at HLRS. In the simulation, no combustion models are used and the flame is resolved down to the smallest length scales. With this approach, comparison of measured data with the simulation shows very good agreement. Using the optimized code including compiler extensions, total simulation time decreases by 20% compared to the same code without compiler extensions. A comprehensive database from the simulation results has been assembled and will consist of 10 TB of 3D and 2D transient field variables.
Suggested Citation
Thorsten Zirwes & Feichi Zhang & Jordan A. Denev & Peter Habisreuther & Henning Bockhorn & Dimosthenis Trimis, 2019.
"Improved Vectorization for Efficient Chemistry Computations in OpenFOAM for Large Scale Combustion Simulations,"
Springer Books, in: Wolfgang E. Nagel & Dietmar H. Kröner & Michael M. Resch (ed.), High Performance Computing in Science and Engineering ' 18, pages 209-224,
Springer.
Handle:
RePEc:spr:sprchp:978-3-030-13325-2_13
DOI: 10.1007/978-3-030-13325-2_13
Download full text from publisher
To our knowledge, this item is not available for
download. To find whether it is available, there are three
options:
1. Check below whether another version of this item is available online.
2. Check on the provider's
web page
whether it is in fact available.
3. Perform a
for a similarly titled item that would be
available.
Corrections
All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:spr:sprchp:978-3-030-13325-2_13. See general information about how to correct material in RePEc.
If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.
We have no bibliographic references for this item. You can help adding them by using this form .
If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.
For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: Sonal Shukla or Springer Nature Abstracting and Indexing (email available below). General contact details of provider: http://www.springer.com .
Please note that corrections may take a couple of weeks to filter through
the various RePEc services.