Search NASA⌕ Search

DOE OSTI · code-57228

CFDbuilder

Abstract

Computational Fluid Dynamics is an important area in scientific computing where, despite the use of multi-threading, obtaining good performance at each core is still extremely challenging. The challenges are primarily due to memory bandwidth limitations and difficulties in using short SIMD engines effectively. One strategy to improve in-core performance involves using a hierarchical data layout made of small cubical structures of the problem states that can fit well in the cache hierarchy. Even for such a hierarchical data layout, finite-differencing equations can be easily expressed but at the expense of some inefficiency. The transformations to overcome the inefficiencies are highly tedious and error-prone. Therefore, we built a source-to-source translator called CFDbuilder to automate the transformations using directives. We see up to 6.92x performance improvement with one of our advection codes using such an approach. We believe such an approach could enable library and application writers to build efficient CFD libraries.

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Lin, Pei-Hung, Jayaraj, Jagan. 2014-10-06. CFDbuilder. https://doi.org/10.11578/dc.20210521.81

Cite the original work for its findings. Save a collection to share your selection of sources.