RUS  ENG
Full version
JOURNALS // Program Systems: Theory and Applications // Archive

Program Systems: Theory and Applications, 2019 Volume 10, Issue 3, Pages 59–80 (Mi ps350)

Hardware, software and distributed supercomputer systems

Vectorization of the Riemann solver using the AVX-512 instruction set

A. A. Rybakov, S. S. Shumilin

Joint Supercomputer Center

Abstract: Numerical methods based on solving the Riemann problem of the decay of an arbitrary discontinuity are extremely demanding of computational resources. Applying the data of numerical methods to modern computational grids requires the use of a supercomputer. Among the various tools for improving the performance of supercomputer applications, we can emphasize the vectorization of program code. The AVX-512 instruction set has a number of unique features allowing to apply vectorization to the Riemann solver software context, which results in a significant acceleration of the solver. Using the exact Riemann solver as an example, the article discusses practical approach to vectorizing a various program contexts, including simple linear blocks, regions with complex control, and nested loops. The basis of the approach under consideration is the possibility of simultaneously executing several instances of some pure function on the same processor core. This feature is achieved by translating the program code into the predicate form and using AVX-512 vector instructions. In this case the number of simultaneously running instances is equal to the width of the vector. It is shown that using the features of the AVX-512 instruction set allows to successfully vectorize the considered program context. The proposed approach can be applied to vectorize a wide range of applications.

Key words and phrases: Riemann problem of the decay of an arbitrary discontinuity, Riemann solver, AVX-512, KNL, vectorization, intrinsic functions.

UDC: 519.68+004.272.25
BBK: 32.973.202-018.2

MSC: Primary 68W10; Secondary 65Pxx, 68M07

Received: 19.02.2019
10.09.2019
Accepted: 30.09.2019

DOI: 10.25209/2079-3316-2019-10-3-59-80



© Steklov Math. Inst. of RAS, 2026