Сравнение стратегий распараллеливания векторизованного римановского решателя с помощью OpenMP для микропроцессора Intel Xeon Phi KNL
Jazyk: | ruština |
---|---|
Rok vydání: | 2021 |
Předmět: | |
DOI: | 10.25682/niisi.2020.5_6.0015 |
Popis: | Римановские решатели широко используются в численных методах, при решении задач газовой динамики. При этом во время проведения вычислений требуется решать задачу Римана о распаде произвольного разрыва на каждой итерации расчетов для каждой пары соседних ячеек расчетной сетки. Таким образом, требуется иметь эффективную реализацию римановских решателей. В данной статье рассматривается задача о распараллеливании с помощью OpenMP применения векторизованного точного римановского решателя к массивам входных данных (массивы газодинамических параметров слева и справа от разрыва). Рассматриваются три различные стратегии распараллеливания. Рассматриваемые стратегии распараллеливания были реализованы в программном коде и протестированы на 72-ядерных микропроцессорах Intel Xeon Phi KNL. В результате проведенных численных экспериментов для наиболее эффективной стратегии распараллеливания было получено суммарное ускорение векторизованного римановского решателя в 368 раз (при использовании 139 потоков) на одном микропроцессоре Intel Xeon Phi KNL по сравнению с однопоточной невекторизованной версией решателя. Riemann solvers are widely used in numerical methods, in the solution of gas dynamics problems. During the calculations, it is required to solve the Riemann problem on the decay of an arbitrary discontinuity at each iteration of the calculations for each pair of neighboring cells of the computational grid. Thus, an efficient implementation of Riemann solvers is required. This article discusses the problem of parallelization using OpenMP of applying a vectorized exact Riemann solver to arrays of input data (arrays of gas dynamic parameters to the left and right of the discontinuity). Three different parallelization strategies are considered. The considered parallelization strategies were implemented in software code and tested on 72-core Intel Xeon Phi KNL microprocessors. As a result of numerical experiments for the most efficient parallelization strategy, the total acceleration of the vectorized Riemann solver by a factor of 368 (using 139 threads) was obtained on one Intel Xeon Phi KNL microprocessor in comparison with the single-threaded unvectorized version of the solver. Труды НИИСИ РАН, Выпуск 5-6 2021, Pages 113-119 |
Databáze: | OpenAIRE |
Externí odkaz: |