Hybrid OpenMP/AVX acceleration of a higher order quiet direct simulation method for the euler equations

Matthew R. Smith, Ji Yueh Liu, Fang An Kuo, Jong Shin Wu

Research output: Contribution to journalConference articlepeer-review

1 Citation (Scopus)


Presented is the Quiet Direct Simulation (QDS) applied to parallel computation using a hybrid OpenMP/AVX parallelization paradigm. Due to the high locality of the QDS scheme, the method has been successfully applied to parallel computation using Graphics Processing Units (GPU) - we show here that the same principles which allow high performance on GPU devices also permit high performance when using Advanced Vector extensions (AVX). Furthermore, since modern CPU's employ a large number of cores, we can further extend the performance by using AVX on each available CPU core using shared memory (OpenMP) parallelization. We present a simple direction-split higher order extension to the QDS method, and then apply it to AVX through the use of intrinsic functions in the flux computation and state computation modules. High performance is obtained by ensuring that all flux computations are performed using only AVX intrinsic functions - no computations are performed in serial. Through this approach, a single workstation with 2x Xeon CPU's (16 physical cores) allows a performance increase of over 177 times that of a single core alone. We also demonstrate that built-in optimization does not fully exploit AVX parallelization through the examination of assembly code.

Original languageEnglish
Pages (from-to)152-157
Number of pages6
JournalProcedia Engineering
Publication statusPublished - 2013
Event25th International Conference on Parallel Computational Fluid Dynamics, ParCFD 2013 - Changsha, China
Duration: 2013 May 202013 May 24

All Science Journal Classification (ASJC) codes

  • General Engineering


Dive into the research topics of 'Hybrid OpenMP/AVX acceleration of a higher order quiet direct simulation method for the euler equations'. Together they form a unique fingerprint.

Cite this