Векторизация программного кода, содержащего маловероятные регионы, в задачах вычислительной геометрии

  • Alexey Anatolyevich Rybakov Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук http://orcid.org/0000-0002-9755-8830

Аннотация

Повышение производительности приложений является важной практической задачей для проведения суперкомпьютерных расчетов. Наряду с распараллеливанием вычислений между узлами кластера (например, средствами MPI), а также с многопоточным программированием (например, в помощью OpenMP) используется векторизация программного кода, обеспечивающая параллелизм на уровне отдельных инструкций. Набор векторных инструкций AVX-512 микропроцессорной архитектуры Intel, обладает рядом уникальных возможностей, с помощью которых можно векторизовать программный код из очень широкого спектра задач. Использование специальных масочных регистров позволяет эффективно векторизовать код, содержащий условные операторы, а использование профильной информации о вероятности выполнения операций в исходной коде позволяет выполнять преобразования кода, приводящие к еще более эффективному применению автоматической векторизации. В работе рассматривается преобразование расщепления плоского цикла по условию, когда известно, что данное условие выполняется с высокой вероятностью. Рассматриваются практические задачи, в которых присутствует данный контекст. Для этих задач выделены условия для расщепления циклов для достижения эффективной векторизации. Описанные преобразования были выполнены, а эффективность результирующего кода проверена запусками на микропроцессорах семейств Intel Xeon Cascade Lake и Intel Xeon Phi Knights Landing, представлены результаты выполнения запусков.

Сведения об авторе

Alexey Anatolyevich Rybakov, Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук

ведущий научный сотрудник Межведомственного суперкомпьютерного центра Российской академии наук, кандидат физико-математических наук

Опубликована
2022-03-31
Как цитировать
RYBAKOV, Alexey Anatolyevich. Векторизация программного кода, содержащего маловероятные регионы, в задачах вычислительной геометрии. Международный научный журнал «Современные информационные технологии и ИТ-образование», [S.l.], v. 18, n. 1, mar. 2022. ISSN 2411-1473. Доступно на: <http://sitito.cs.msu.ru/index.php/SITITO/article/view/826>. Дата доступа: 04 july 2022
Раздел
Параллельное и распределенное программирование, грид-технологии