z-logo
open-access-imgOpen Access
Vectorization of the Riemann solver using the AVX-512 instruction set
Author(s) -
Алексей Анатольевич Рыбаков,
S. S. Shumilin
Publication year - 2019
Publication title -
programmnye sistemy: teoriâ i priloženiâ
Language(s) - Russian
Resource type - Journals
ISSN - 2079-3316
DOI - 10.25209/2079-3316-2019-10-3-59-80
Subject(s) - vectorization (mathematics) , instruction set , computer science , parallel computing , solver , physics , nuclear physics , programming language
Численные методы, базирующиеся на решении задачи Римана о распаде произвольного разрыва, крайне требовательны к вычислительным ресурсам. Для применения данных численных методов на современных расчетных сетках требуется использование суперкомпьютера. Среди различных инструментов повышения производительности суперкомпьютерных приложений можно выделить векторизацию программного кода. Набор инструкций AVX-512 обладает рядом уникальных возможностей, позволяющих применить векторизацию к программному контексту римановского решателя, что ведет к значительному ускорению решателя. На примере точного римановского решателя рассматривается практический подход к векторизации разнообразного программного контекста, включая простые линейные участки, регионы со сложным управлением, а также вложенные циклы. В основе рассматриваемого подхода лежит возможность одновременного выполнения на одном процессорном ядре нескольких экземпляров некоторой чистой функции. Данная возможность достигается путем перевода программного кода в предикатную форму и использования векторных инструкций. При этом количество одновременно выполняющихся экземпляров равно ширине вектора. Показано, что использование возможностей набора команд AVX-512 позволяет успешно векторизовать рассматриваемый программный контекст. Предложенный подход может быть применен для векторизации широкого спектра приложений.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here