Видео

Согласованное представление Fortran-программ в компиляторе PARFOR на разных уровнях абстракции

Распараллеливающий компилятор PARFOR, выделенный в отдельный инструмент из системы автоматизированного распараллеливания SAPFOR, предназначен для разработки параллельных программ на языках с неявным параллелизмом Fortran и C. Целью разработки компилятора PARFOR является автоматическое преобразование программы на уровне исходного кода для последующего выполнения на вычислительном кластере. Неявное параллельное программирование предполагает возможность описания свойств исходной последовательной программы, чтобы снизить сложность поиска необходимых преобразований программы. Распараллеливание выполняется в модели DVMH на языках Fortran-DVMH и C-DVMH соответственно. При этом для анализа программ используются возможности системы компиляторов LLVM, а преобразования основаны на представлении программ в виде абстрактного синтаксического дерева (AST). В данной работе рассматривается подход, позволяющий согласованно рассматривать программы на двух уровнях абстракции: уровне исходного кода и низкоуровнего представления, задействовав потенциал низкоуровневого представления в отношении анализа программ и сохранив понятный для пользователя вид отображаемой информации. В работе также рассматривается возможность исследования преобразованного LLVM IR, чтобы повысить точно проводимого анализа. Также приводятся основные причины выбора LLVM в качестве инструментальной базы для разработки компилятора PARFOR.

Работа выполнена при поддержке РФФИ (проекты 16-07-01014, 17-01-00820, 18-01-00851) и программы президиума РАН № 26 «Фундаментальные основы создания алгоритмов и программного обеспечения для перспективных сверхвысокопроизводительных вычислений».

Докладчик: Н.А. Катаев.


Скрыть
Application of the LLVM Compiler Infrastructure to the Program Analysis in SAPFOR

The paper proposes an approach to implementation of program analysis in SAPFOR (System FOR Automated Parallelization). This is a software development suit that is focused on cost reduction of manual program parallelization. It was primarily designed to perform source-to-source transformation of a sequential program for execution on parallel architectures with distributed memory. LLVM (Low Level Virtual Machine) compiler infrastructure is used to examine a program. This paper focuses on establishing a correspondence between the properties of the program in the programming language and the properties of its low-level representation.

The reported study was funded by the Program of the Presidium of RAS 26 «Fundamental basis for creating algorithms and software for perspective ultrahigh-performance computing».

Докладчик: Н.А. Катаев.


Скрыть
Автоматизированное распараллеливание задачи моделирования распространения упругих волн в средах со сложной 3D геометрией поверхности на кластеры разной архитектуры

В работе рассмотрено применение систем DVM и САПФОР для автоматизации отображения задачи моделирования трехмерных упругих волн на высокопроизводительные кластеры различной архитектуры. Отличительной особенностью данной задачи является использование криволинейной трехмерной сетки, которая хорошо согласуется с геометрией строения свободной поверхности. Но использование криволинейных сеток значительно усложняет как ручное, так и автоматизированное распараллеливание. Для решения данной проблемы был предложен метод отображения криволинейной поверхности на структурированную сетку. Последовательная программа, использующая метод конечных разностей на структурированной сетке, была отображена в параллельную программу на языке Fortran-DVMH с использованием инструментов анализа системы САПФОР. Рассмотрены особенности автоматизированного распараллеливания. Представлены результаты эффективности и ускорения параллельной Fortran-DVMH программы, а также сравнение производительности полученной программы с ручным распараллеливанием с использованием технологии MPI.

Докладчик: А.С. Колганов.


Скрыть
Отображение графовых задач на архитектуру графических ускорителей — теория и практика

В последнее время все большую роль играют графические ускорители (GPU) в не графических вычислениях. Потребность их использования обусловлена их относительно высокой производительностью и более низкой стоимостью. Как известно, на GPU хорошо решаются задачи на структурных сетках, где параллелизм так или иначе легко выделяется. Но есть задачи, которые требуют больших мощностей и используют неструктурные сетки. Примерами таких задач является: Single Shortest Source Path problem (SSSP) – задача поиска кратчайших путей от заданной вершины до всех остальных во взвешенном графе, MST (minimum spanning tree) — поиск минимального остовного леса в графе, BFS (breadth first search) — поиск в ширину в графе, Community detection — обнаружение тесно связанных сообществ в графе и другие.

Данные задачи очень часто используются в различных областях исследований: распознавание различных объектов, компьютерное зрение, анализ и построение сетей (например, телефонных, электрических, компьютерных, дорожных и т.д.), химия и биология и во многих других областях.

Докладчик: А.С. Колганов.


Скрыть
Новые возможности системы автоматизации разработки параллельных программ (DVM-системы)

В докладе рассмотрены возможности DVM-системы, которые были реализованы в последнее время:

  • новая версия языка и компилятора C-DVMH;
  • расширение возможностей языков C-DVMH и Fortran-DVMH для решения задач, использующих нерегулярные сетки;
  • реализация средств параллельного ввода-вывода;
  • новые возможности для функциональной отладки и анализа эффективности параллельных программ.

Будут продемонстрированы примеры использования данных возможностей на тестовых и реальных приложениях.

Докладчик: В.А. Бахтин.


Скрыть