Видео

Автоматизированное распараллеливание программ для гетерогенных кластеров с помощью системы SAPFOR

В докладе будет рассмотрен подход к автоматизированному распараллеливанию программ для кластеров с помощью системы SAPFOR (System FOR Automated Parallelization). Главной целью системы SAPFOR является автоматизация процесса отображения последовательных программ на параллельные архитектуры в модели DVMH, которая является моделью программирования, основанной на директивах. Помимо этого, система SAPFOR позволяет выполнять автоматически некоторый класс преобразований над исходным кодом программы по запросу пользователя через графический интерфейс. На определенных классах задач пользователь системы SAPFOR может рассчитывать на полностью автоматическое распараллеливание, если программа была написана или приведена к потенциально параллельному виду. Также в докладе будут рассмотрены подходы к построению схем распределения данных и вычислений на распределенную память в модели DVMH. Эффективность полученных алгоритмов построения схем распределения данных и вычислений будет продемонстрирована на примере некоторых приложений из пакета NAS Parallel Benchmarks.

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


Скрыть
Использование динамического анализа при распараллеливании на гибридный вычислительный кластер

При распараллеливании на графический ускоритель необходимо выделить участки кода (вычислительные регионы), которые могут быть выполнены на GPU. При этом помимо выполнения анализа, отвечающего за возможность параллельного выполнения того или иного фрагмента программы (например, гнезда циклов), необходимо определить набор данных, которые должны быть переданы на графический ускоритель до начала вычислений, и загружены с него в оперативную память, когда вычисления будут завершены. В докладе будет рассмотрен подход к применению смешанного анализа программ, используемый при разработке системы SAPFOR, который позволяет оптимизировать расстановку спецификаций параллелизма в программе, за счет совместного применения как статического анализа, так и динамического анализа, выполняемого на разных наборах входных данных.

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


Скрыть
Пример использования SAPFOR 3.0 при распараллеливании программ

Автоматизация распараллеливания Си версии теста BT из пакета NAS Parallel Benchmarks 3.3.1 с помощью системы SAPFOR 3.0. Распараллеливание выполняется с использованием стандарта OpenMP.

Исходная версия NAS NPB: https://www.nas.nasa.gov/publications/npb.html

NAS NPB на Си: Seo, S., Jo, G., Lee, J. Performance Characterization of the NAS Parallel Bench-marks in OpenCL // 2011 IEEE International Symposium on. Workload Characterization (IISWC), 2011. P. 137–148

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


Скрыть
Согласованное представление 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».

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


Скрыть