Optimizations of Unstructured Aerodynamics Computations for Many-core Architectures

Mohammed Al Farhan, David E. Keyes

Research output: Contribution to journalArticlepeer-review

14 Scopus citations

Abstract

We investigate several state-of-the-practice shared-memory optimization techniques applied to key routines of an unstructured computational aerodynamics application with irregular memory accesses. We illustrate for the Intel KNL processor, as a representative of the processors in contemporary leading supercomputers, identifying and addressing performance challenges without compromising the floating point numerics of the original code. We employ low and high-level architecture-specific code optimizations involving thread and data-level parallelism. Our approach is based upon a multi-level hierarchical distribution of work and data across both the threads and the SIMD units within every hardware core. On a 64-core KNL chip, we achieve nearly 2.9x speedup of the dominant routines relative to the baseline. These exhibit almost linear strong scalability up to 64 threads, and thereafter some improvement with hyperthreading. At substantially fewer Watts, we achieve up to 1.7x speedup relative to the performance of 72 threads of a 36-core Haswell CPU and roughly equivalent performance to 112 threads of a 56-core Skylake scalable processor. These optimizations are expected to be of value for many other unstructured mesh PDE-based scientific applications as multi and many-core architecture evolves.
Original languageEnglish (US)
Pages (from-to)2317-2332
Number of pages16
JournalIEEE Transactions on Parallel and Distributed Systems
Volume29
Issue number10
DOIs
StatePublished - Apr 13 2018

Fingerprint

Dive into the research topics of 'Optimizations of Unstructured Aerodynamics Computations for Many-core Architectures'. Together they form a unique fingerprint.

Cite this