REAL

Productivity, performance, and portability for computational fluid dynamics applications

Reguly, István Zoltán and Mudalige, Gihan R. (2020) Productivity, performance, and portability for computational fluid dynamics applications. COMPUTERS AND FLUIDS, 199. ISSN 0045-7930

[img]
Preview
Text
elsarticle-template.pdf

Download (843kB) | Preview

Abstract

Hardware trends over the last decade show increasing complexity and heterogeneity in high performance computing architectures, which presents developers of CFD applications with three key challenges; the need for achieving good performance, being able to utilise current and future hardware by being portable, and doing so in a productive manner. These three appear to contradict each other when using traditional programming approaches, but in recent years, several strategies such as template libraries and Domain Specific Languages have emerged as a potential solution; by giving up generality and focusing on a narrower domain of problems, all three can be achieved. This paper gives an overview of the state-of-the-art for delivering performance, portability, and productivity to CFD applications, ranging from high-level libraries that allow the symbolic description of PDEs to low-level techniques that target individual algorithmic patterns. We discuss advantages and challenges in using each approach, and review the performance benchmarking literature that compares implementations for hardware architectures and their programming methods, giving an overview of key applications and their comparative performance.

Item Type: Article
Uncontrolled Keywords: PERFORMANCE; review; PRODUCTIVITY; Portability; Domain specific language;
Subjects: Q Science / természettudomány > QA Mathematics / matematika > QA75 Electronic computers. Computer science / számítástechnika, számítógéptudomány
SWORD Depositor: MTMT SWORD
Depositing User: MTMT SWORD
Date Deposited: 15 Jan 2020 14:21
Last Modified: 15 Jan 2020 14:21
URI: http://real.mtak.hu/id/eprint/105463

Actions (login required)

Edit Item Edit Item