Новости
-
Конференция "Национальный Суперкомпьютерный Форум (НСКФ-2021)" проходила 30 Ноября - 3 Декабря 2021 г. по адресу Россия, Переславль-Залесский, ИПС им. А.К. Айламазяна РАН.
Доклады
Статический анализ Си программ в системе SAPFOR для их распараллеливания
Статический анализ Си программ в системе SAPFOR для их распараллеливания
Применение системы SAPFOR для распараллеливания некоторых приложений из пакета NAS Parallel Benchmarks выявило ограничения реализованных в системе SAPFOR техник анализа программ. В докладе будут рассмотрены новые техники анализа программ, реализованные в SAPFOR и позволяющие справиться с выявленными ограничениями. Важной особенностью является то, что предложенные техники опираются на возможность системы SAPFOR модифицировать внутреннее представление программы в виде LLVM IR в процессе ее анализа для уточнения свойств исходной непреобразованной программы. В докладе будут рас-смотрены: (1) подход к анализу зависимостей по данным в много-модульных программах за счет выборочной подстановки функций в точках их вызова; (2) подход к определению редукционных операций в циклах программы, для случаев, когда имеющихся возможностей LLVM по их анализу оказывается недостаточно; (3) подход к определению приватизируемых массивов в циклах про-граммы.
Докладчик: Н.А. Катаев.
-
Конференция "Суперкомпьютерные дни в России 2021" проходила 27 - 28 Сентября 2021 г. по адресу Россия, Москва, гостиница Holiday Inn Moscow - Sokolniki.
Доклады
Дополнительное распараллеливание MPI программ с помощью системы SAPFOR
Дополнительное распараллеливание MPI программ с помощью системы SAPFOR
Системы SAPFOR и DVM были спроектированы и предназначены для упрощения разработки параллельных программ научно-технических расчетов. Главной целью системы SAPFOR является автоматизация процесса отображения последовательных программ на параллельные архитектуры в модели DVMH. В некоторых случаях пользователь системы SAPFOR может рассчитывать на полностью автоматическое распараллеливание, если программа была написана или приведена к потенциально параллельному виду. DVMH модель представляет собой расширение стандартных языков Си и Фортран спецификациями параллелизма, которые оформлены в виде директив и не видимы стандартным компиляторам. В статье будет рассмотрено автоматизированное дополнительное распараллеливание существующих MPI программ с помощью системы SAPFOR, где, в свою очередь, будут использованы новые возможности DVMH модели по распараллеливанию циклов в MPI программе внутри узла. Данный подход позволяет существенно снизить трудоемкость распараллеливания MPI программ на графические ускорители и многоядерные процессоры, сохранив при этом удобство сопровождения уже написанной программы. Данная возможность в системе SAPFOR была реализована для языков Фортран и Си. Эффективность данного подхода показана на примере некоторых приложений из пакета NAS Parallel Benchmarks.
Работа выполнена при поддержке Российского фонда фундаментальных исследований, проекты 19-07-00889, 19-07-01101 и 20-01-00631.
Докладчик: А.С. Колганов.
-
Конференция "16th International Conference on Parallel Computing Technologies" проходила 13 - 18 Сентября 2021 г. по адресу Russia, Калининград, Балтийский федеральный университет.
Доклады
Additional Parallelization of Existing MPI Programs Using SAPFOR
Additional Parallelization of Existing MPI Programs Using SAPFOR
The SAPFOR and DVM systems were primary designed to simplify the development of parallel programs of scientific-technical calculations. SAPFOR is a software development suite that aims to produce a parallel version of a sequential program in a semi-automatic way. Fully automatic parallelization is also possible if the program is well-formed and satisfies certain requirements. SAPFOR uses the DVMH directive-based programming model to expose parallelism in the code. The DVMH model introduces CDVMH and Fortran-DVMH (FDVMH) programming languages which extend standard C and Fortran languages by parallelism specifications. We present MPI-aware extension of the SAPFOR system that exploits opportunities provided by the new features of the DVMH model to extend existing MPI programs with intra-node parallelism. In that way, our approach reduces the cost of parallel program maintainability and allows the MPI program to utilize accelerators and multi-core processors. SAPFOR extension has been implemented for both Fortran and C programming languages. In this paper, we use the NAS Parallel Benchmarks to evaluate the performance of generated programs.
Докладчик: Н.А. Катаев.
-
Конференция "XXI Всероссийская конференция Научный сервис в сети Интернет 2019" проходила 23 - 28 Сентября 2019 г. по адресу Россия, Новороссийск, пос. Абрау-Дюрсо, пансионат Моряк, НМП.
Доклады
Динамический анализ зависимостей по данным в системе SAPFOR
Динамический анализ зависимостей по данным в системе SAPFOR
Возможностей статического анализа программ часто оказывается недостаточно для исследования реальных приложений. Сложные граф управления и структура обращений к памяти приводят к консервативной оценке наличия зависимостей по данным. Для принятия решений о возможности распараллеливания циклов программы в системе SAPFOR был реализован динамический анализ зависимостей по данным. Анализ опирается на инструментацию программ в представлении LLVM и может быть выполнен для программ на языках C и Fortran. Использование статического анализа позволяет сократить множество анализируемых обращений к памяти, игнорируя обращения к скалярным переменным, информация по которым уже доступна. Также допускается выборочный анализ функций и циклов программы. Эти возможности позволяют заметно снизить накладные расходы на время выполнения программы, сохранив при этом полноту анализа. Разработанный инструмент был протестирован на тестах производительности из пакета NAS Parallel Benchmarks для языков C и Fortran. В процессе динамического анализа кроме традиционных видов зависимостей (flow, anit, output) также определяются переменные, зависимость о которым может быть устранена за счет приватизации или конвейерного выполнения циклов. Совместно с возможностями DVM и OpenMP это существенно облегчает, в том числе и ручное распараллеливание, облегчая задание соответствующих директив компилятора.
Докладчик: Н.А. Катаев.
Восстановление обращений к многомерным массивам в системе SAPFOR
Восстановление обращений к многомерным массивам в системе SAPFOR
Представление программ в виде LLVM IR позволяет проводить различные оптимизации с целью повышения качества анализа программ в системе SAPFOR (System FOR Automated Parallelization). Являясь единым для разных высокоуровневых языков, LLVM IR позволяет исследовать многоязыковые вычислительные комплексы. При этом оно теряет некоторые особенности программы, отражаемые ее представлением на языке высокого уровня. Одной из таких особенностей является многомерная структура используемых массивов. Знание многомерной структуры повышает точность анализа зависимостей по данным, так как линеаризованное представление массивов, размеры измерений которых являются переменными, может не быть аффинным выражением и к нему не удастся применить методы целочисленного линейного программирования. Кроме того, использование многомерных массивов позволяет повысить уровень параллелизма в программе за счет использования многомерных решеток процессоров и распараллеливания гнезд циклов, а не отдельных циклов в гнезде. Данная возможность естественным образом поддерживается в DVM-системе. В данной работе рассматривается подход, применяемый в системе SAPFOR для восстановления формы многомерных массивов и обращений к ним по их линеаризованному представлению в LLVM IR. Предложенный подход был успешно протестирован на различных приложениях.
Докладчик: Н.А. Катаев.
DVM-система предназначена для разработки параллельных программ научно-технических расчетов на языках C-DVMH и Fortran-DVMH. Эти языки используют единую модель параллельного программирования (DVMH-модель) и являются расширением стандартных языков Си и Фортран. DVMH-модель позволяет создавать эффективные параллельные программы для гетерогенных вычислительных кластеров, в узлах которых в качестве вычислительных устройств наряду с универсальными многоядерными процессорами могут использоваться ускорители (графические процессоры или сопроцессоры Intel Xeon Phi). В статье представлены новые возможности DVMсистемы, которые были разработаны в последнее время.
Докладчик: В.А. Бахтин.
DVM-система предназначена для разработки параллельных программ научно-технических расчетов на языках C-DVMH и Fortran-DVMH. Эти языки используют единую модель параллельного программирования (DVMH-модель) и являются расширением стандартных языков Си и Фортран спецификациями параллелизма, оформленными в виде директив компилятору. DVMH-модель позволяет создавать эффективные параллельные программы для гетерогенных вычислительных кластеров, в узлах которых в качестве вычислительных устройств наряду с универсальными многоядерными процессорами могут использоваться ускорители (графические процессоры или сопроцессоры Intel Xeon Phi). В статье описывается методика отладки параллельных программ в DVM-системе, а также новые возможности DVMотладчика.
Докладчик: В.А. Бахтин.
Разработка параллельного программного кода для расчетов задачи радиационной магнитной газодинамики и исследования динамики плазмы в канале КСПУ
Разработка параллельного программного кода для расчетов задачи радиационной магнитной газодинамики и исследования динамики плазмы в канале КСПУ
DVM-система предназначена для разработки параллельных программ научно-технических расчетов на языках C-DVMH и Fortran-DVMH. Эти языки используют единую модель параллельного программирования (DVMH-модель) и являются расширением стандартных языков Си и Фортран спецификациями параллелизма, оформленными в виде директив компилятору. DVMH-модель позволяет создавать эффективные параллельные программы для гетерогенных вычислительных кластеров, в узлах которых в качестве вычислительных устройств наряду с универсальными многоядерными процессорами могут использоваться ускорители (графические процессоры или сопроцессоры Intel Xeon Phi). В статье описывается опыт успешного применения DVM-системы для разработки параллельного программного кода для расчетов задачи радиационной магнитной газодинамики и исследования динамики плазмы в канале КСПУ.
Докладчик: В.А. Бахтин.
Автоматизация преобразований последовательных программ для их последующего распараллеливания в системе SAPFOR
Автоматизация преобразований последовательных программ для их последующего распараллеливания в системе SAPFOR
Распараллеливание уже написанных последовательных программ часто требует значительных преобразований, так как в большинстве случаев данные программы хорошо оптимизированы для последовательного выполнения. Так как основной ресурс параллелизма содержится в циклах, то необходимо обеспечить в первую очередь их преобразование для устранения зависимостей и конфликтов, мешающих их анализу и распараллеливанию. К таким преобразованиям можно отнести: внос и вынос инварианта, объединение циклов в тесно-вложенные, расширение и сужение приватизируемых переменных, разбиение и слияние циклов и др. В данной статье будут рассмотрены два основных преобразования – расширение приватизируемых переменных, которое позволит устранить зависимость тесно-вложенного гнезда, и разделение циклов, которое позволит увеличить количество распараллеливаемых тесно-вложенных циклов. Полученные преобразования были проверены на некоторых программах NAS Parallel Benchmarks.
Докладчик: А.С. Колганов.
-
The DVM-approach to the development of parallel programs for heterogeneous computer clusters with accelerators. The basic capabilities of DVM and SAPFOR, which automate the parallelization of applications, are discussed.