Article ID Journal Published Year Pages File Type
756425 Computers & Fluids 2015 8 Pages PDF
Abstract

•SHLL method is applied to parallel computing using a hybrid OpenMP/AVX approach.•AVX computation requires high levels of vectorization, which SHLL provides.•Parallelism with (i) an upper layer with AVX, and (ii) a lower layer with OpenMP.•Using 10 cores, the maximum parallel performance is 117× that of a single core.•Using 10 cores, the overall parallel performance is 57× that of a single core.

Presented is the application of the Split Harten, Lax and van Leer (SHLL) technique applied to parallel computation using a hybrid OpenMP/AVX parallelization paradigm for the Shallow Water Equations and Euler Equations. The key behind the ease of parallelization of the SHLL method for both governing equations is the mathematical/vector splitting in each coordinate direction – this splitting results in a high degree of locality, producing a scheme which is embarrassingly parallel and well suited for the vectorization capacities offered by vector-computing architectures. Here we demonstrate this capacity using the SIMD capacities of modern CPUs, namely the Advanced Vector eXtensions (AVX) capability of recent CPUs. The main feature of AVX is the capacity to perform SIMD operations on 8 floating point variables in parallel – an increase from 4 floating point variables as possible using the previous SIMD Streaming Extensions (SSE). Furthermore, since modern CPU’s employ a large number of cores, we further extend the performance by using AVX on each available CPU core using shared memory (OpenMP) parallelization. We present a direction-split higher order extension to both the SHLL method and 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 2× Xeon CPU’s (16 physical cores) allows a performance increase of over 117 times that of a single core alone in the flux evaluation kernel.

Related Topics
Physical Sciences and Engineering Engineering Computational Mechanics
Authors
, , , ,