ResearchBib Share Your Research, Maximize Your Social Impacts
Sign for Notice Everyday Sign up >> Login

Vectorization of the three-dimensional immersed boundary method for improving the efficiency of calculations on Intel microprocessors

Journal: Software & Systems (Vol.36, No. 1)

Publication Date:

Authors : ; ;

Page : 130-143

Keywords : avx-512; immersed boundary method; fluid dynamics; optimisation; vectorization;

Source : Downloadexternal Find it from : Google Scholarexternal

Abstract

The work is devoted to increasing the efficiency of modern computational applications on high-performance computing systems. The authors consider program code vectorization as a tool for increasing efficiency. Vectorization helps combining scalar operations of the same type into vector analogs, significantly increasing performance. Modern Intel microprocessors were chosen as the target platform, for which a unique set of vector instructions AVX-512 is supported. The paper considers an approach to vectorization of a gas dynamic solver using the immersed boundary method and the Steger-Warming upwind scheme in 3D case. This solver has a complex programming context that cannot be vectorized automatically. The paper considers the implementation of the solver, as well as approaches to organizing the code and bringing it to a form suitable for automatic vectorization by the icc compiler. To ensure automatic application of vectorization to the solver code, three basic equivalent transformations were applied. First, the calculations, which are the same for all iterations including matrix operations, were localized and brought to the stage of preparing calculations. Second, the main functions of the solver were organized as flat loops, and the data structures were presented as sets of arrays. Third, splitting by condition optimization was applied to loop nests, which can be used to reduce the degree of control branching inside the loop body. These transformations allow the compiler to automatically apply code vectorization. As a result of the work performed, the solver was accelerated by a factor of 3 due to vectorization when performing calculations on double-precision real numbers.

Last modified: 2023-08-08 19:51:02