АБРАУ 09.2019
Конференция "XXI Всероссийская конференция Научный сервис в сети Интернет 2019" проходила 23 - 28 Сентября 2019 г. по адресу Россия, Новороссийск, пос. Абрау-Дюрсо, пансионат Моряк, НМП.
Н.А. Катаев выступил с докладом:
Динамический анализ зависимостей по данным в системе SAPFOR
Возможностей статического анализа программ часто оказывается недостаточно для исследования реальных приложений. Сложные граф управления и структура обращений к памяти приводят к консервативной оценке наличия зависимостей по данным. Для принятия решений о возможности распараллеливания циклов программы в системе SAPFOR был реализован динамический анализ зависимостей по данным. Анализ опирается на инструментацию программ в представлении LLVM и может быть выполнен для программ на языках C и Fortran. Использование статического анализа позволяет сократить множество анализируемых обращений к памяти, игнорируя обращения к скалярным переменным, информация по которым уже доступна. Также допускается выборочный анализ функций и циклов программы. Эти возможности позволяют заметно снизить накладные расходы на время выполнения программы, сохранив при этом полноту анализа. Разработанный инструмент был протестирован на тестах производительности из пакета NAS Parallel Benchmarks для языков C и Fortran. В процессе динамического анализа кроме традиционных видов зависимостей (flow, anit, output) также определяются переменные, зависимость о которым может быть устранена за счет приватизации или конвейерного выполнения циклов. Совместно с возможностями DVM и OpenMP это существенно облегчает, в том числе и ручное распараллеливание, облегчая задание соответствующих директив компилятора.
Статья написана коллективом авторов: А.Д. Жуков, Н.А. Катаев, А.А. Смирнов.
Н.А. Катаев выступил с докладом:
Восстановление обращений к многомерным массивам в системе SAPFOR
Представление программ в виде LLVM IR позволяет проводить различные оптимизации с целью повышения качества анализа программ в системе SAPFOR (System FOR Automated Parallelization). Являясь единым для разных высокоуровневых языков, LLVM IR позволяет исследовать многоязыковые вычислительные комплексы. При этом оно теряет некоторые особенности программы, отражаемые ее представлением на языке высокого уровня. Одной из таких особенностей является многомерная структура используемых массивов. Знание многомерной структуры повышает точность анализа зависимостей по данным, так как линеаризованное представление массивов, размеры измерений которых являются переменными, может не быть аффинным выражением и к нему не удастся применить методы целочисленного линейного программирования. Кроме того, использование многомерных массивов позволяет повысить уровень параллелизма в программе за счет использования многомерных решеток процессоров и распараллеливания гнезд циклов, а не отдельных циклов в гнезде. Данная возможность естественным образом поддерживается в DVM-системе. В данной работе рассматривается подход, применяемый в системе SAPFOR для восстановления формы многомерных массивов и обращений к ним по их линеаризованному представлению в LLVM IR. Предложенный подход был успешно протестирован на различных приложениях.
Статья написана коллективом авторов: В.Н. Василькин, Н.А. Катаев.
В.А. Бахтин выступил с докладом:
Новые возможности DVM-системы
DVM-система предназначена для разработки параллельных программ научно-технических расчетов на языках C-DVMH и Fortran-DVMH. Эти языки используют единую модель параллельного программирования (DVMH-модель) и являются расширением стандартных языков Си и Фортран. DVMH-модель позволяет создавать эффективные параллельные программы для гетерогенных вычислительных кластеров, в узлах которых в качестве вычислительных устройств наряду с универсальными многоядерными процессорами могут использоваться ускорители (графические процессоры или сопроцессоры Intel Xeon Phi). В статье представлены новые возможности DVMсистемы, которые были разработаны в последнее время.
Статья написана коллективом авторов: В.Ф. Алексахин, В.А. Бахтин, О.Ф. Жукова, Д.А. Захаров, В.А. Крюков, Н.В. Поддерюгина, О.А. Савицкая.
В.А. Бахтин выступил с докладом:
Сравнительная отладка параллельных DVMH-программ
DVM-система предназначена для разработки параллельных программ научно-технических расчетов на языках C-DVMH и Fortran-DVMH. Эти языки используют единую модель параллельного программирования (DVMH-модель) и являются расширением стандартных языков Си и Фортран спецификациями параллелизма, оформленными в виде директив компилятору. DVMH-модель позволяет создавать эффективные параллельные программы для гетерогенных вычислительных кластеров, в узлах которых в качестве вычислительных устройств наряду с универсальными многоядерными процессорами могут использоваться ускорители (графические процессоры или сопроцессоры Intel Xeon Phi). В статье описывается методика отладки параллельных программ в DVM-системе, а также новые возможности DVMотладчика.
Статья написана коллективом авторов: В.А. Бахтин, А.А. Ермичев, Д.А. Захаров, В.А. Крюков.
В.А. Бахтин выступил с докладом:
Разработка параллельного программного кода для расчетов задачи радиационной магнитной газодинамики и исследования динамики плазмы в канале КСПУ
DVM-система предназначена для разработки параллельных программ научно-технических расчетов на языках C-DVMH и Fortran-DVMH. Эти языки используют единую модель параллельного программирования (DVMH-модель) и являются расширением стандартных языков Си и Фортран спецификациями параллелизма, оформленными в виде директив компилятору. DVMH-модель позволяет создавать эффективные параллельные программы для гетерогенных вычислительных кластеров, в узлах которых в качестве вычислительных устройств наряду с универсальными многоядерными процессорами могут использоваться ускорители (графические процессоры или сопроцессоры Intel Xeon Phi). В статье описывается опыт успешного применения DVM-системы для разработки параллельного программного кода для расчетов задачи радиационной магнитной газодинамики и исследования динамики плазмы в канале КСПУ.
Статья написана коллективом авторов: В.А. Бахтин, Д.А. Захаров, А.Н. Козлов, В.С. Коновалов.
А.С. Колганов выступил с докладом:
Автоматизация преобразований последовательных программ для их последующего распараллеливания в системе SAPFOR
Распараллеливание уже написанных последовательных программ часто требует значительных преобразований, так как в большинстве случаев данные программы хорошо оптимизированы для последовательного выполнения. Так как основной ресурс параллелизма содержится в циклах, то необходимо обеспечить в первую очередь их преобразование для устранения зависимостей и конфликтов, мешающих их анализу и распараллеливанию. К таким преобразованиям можно отнести: внос и вынос инварианта, объединение циклов в тесно-вложенные, расширение и сужение приватизируемых переменных, разбиение и слияние циклов и др. В данной статье будут рассмотрены два основных преобразования – расширение приватизируемых переменных, которое позволит устранить зависимость тесно-вложенного гнезда, и разделение циклов, которое позволит увеличить количество распараллеливаемых тесно-вложенных циклов. Полученные преобразования были проверены на некоторых программах NAS Parallel Benchmarks.
Статья написана коллективом авторов: И.А. Казаков, А.С. Колганов, М.Ю. Кузнецов.