Новости
-
В статье описан DVM-подход для разработки параллельных программ для гетерогенных вычислительных кластеров с ускорителями. Рассматриваются основные возможности систем DVM и САПФОР, автоматизирующих процесс распараллеливания прикладных программ.
-
DVM-система предназначена для разработки параллельных программ научно-технических расчетов на языках C-DVMH и Fortran-DVMH. Эти языки используют единую модель параллельного программирования (DVMH-модель) и являются расширением стандартных языков Си и Фортран спецификациями параллелизма, оформленными в виде директив компилятору. DVMH-модель позволяет создавать эффективные параллельные программы для гетерогенных вычислительных кластеров, в узлах которых в качестве вычислительных устройств наряду с универсальными многоядерными процессорами могут использоваться ускорители (графические процессоры или сопроцессоры Intel Xeon Phi). В статье описывается опыт использования DVM-системы для распараллеливания различных прикладных программ. Рассматривается метод инкрементального или частичного распараллеливания, возможности системы для работы с неструктурированными сетками, новые средства для отображения MPI-программ на многоядерные процессоры и ускорители. Исследуется эффективность выполнения параллельных DVMH-программ на гетерогенных вычислительных кластерах K-10, K-100, Ломоносов и MVS-10P. Описаны основные преимущества DVM-подхода при разработке параллельных программ. Представлены основные возможности инструментов DVM-системы для анализа производительности и функциональной отладки параллельных программ. Определяются направления для дальнейшего развития DVM-системы.
-
Конференция "Параллельные вычислительные технологии 2019" проходила 2 - 4 Апреля 2019 г. по адресу Россия, Калининград, Балтийский федеральный университет.
Доклады
Преобразование программ на высокоуровневом языке программирования на основе результатов анализа низкоуровневого представления программ в системе SAPFOR
Преобразование программ на высокоуровневом языке программирования на основе результатов анализа низкоуровневого представления программ в системе SAPFOR
В статье рассматривается подход, позволяющий использовать результаты анализа низкоуровневого представления программы для выполнения ее преобразований на уровне исходного кода. Данный подход применяется в системе SAPFOR (System FOR Automated Parallelization) для приведения программ к потенциально параллельному виду и последующему выявлению в них неявного параллелизма. Для анализа программ используется система компиляторов LLVM (Low Level Virtual Machine). В качестве представления программы используется LLVM IR. Clang применяется для выполнения преобразований на уровне исходного кода. В статье рассматриваются преимущества выполнения анализа программ на уровне LLVM IR и особенности выполнения его преобразований с целью повышения качества проводимого анализа для исходной программы на языке высокого уровня.
Работа выполнена при поддержке Российского фонда фундаментальных исследований, проекты 17-01- 00820 и 18-01-00851.
Докладчик: Н.А. Катаев.
Автоматическое инкрементальное распараллеливание больших программных комплексов с помощью системы SAPFOR
Автоматическое инкрементальное распараллеливание больших программных комплексов с помощью системы SAPFOR
Основная сложность разработки параллельной программы для кластера – необходимость принятия глобальных решений по распределению данных и вычислений с учетом свойств всей программы, а затем выполнения кропотливой работы по модификации программы и ее отладки. Большой объем программного кода, а также многомодульность, многовариантность и многоязыковость, затрудняют принятие решений по согласованному распределению данных и вычислений. Опыт использования предыдущей системы САПФОР показал, что при распараллеливании на кластер больших программ и программных комплексов необходимо уметь распараллеливать их постепенно, начиная с наиболее времяемких фрагментов и постепенно добавляя новые фрагменты, пока не достигнем желаемого уровня эффективности параллельной программы. С этой целью предыдущая система была полностью переработана, и на ее основе была создана новая система SAPFOR (System FOR Automated Parallelization). Для решения поставленной задачи будет рассмотрен метод инкрементального, или частичного распараллеливания, идея которого заключается в том, что распараллеливанию подвергается не вся программа целиком, а ее части (области распараллеливания) – в них заводятся дополнительные экземпляры требуемых данных, производится распределение этих данных и соответствующих им вычислений. В данной статье будет рассмотрено применение автоматического отображения программ на кластер с помощью предложенного метода инкрементального распараллеливания на примере программного комплекса, решающего задачу моделирования добычи залежей нефти и газа
Докладчик: А.С. Колганов.
DVM-система предназначена для разработки параллельных программ научно-технических расчетов на языках C-DVMH и Fortran-DVMH. Эти языки используют единую модель параллельного программирования(DVMH-модель) и являются расширением стандартных языков Си и Фортран спецификациями параллелизма, оформленными в виде директив компилятору. DVMH-модель позволяет создавать эффективные параллельные программы для гетерогенных вычислительных кластеров, в узлах которых в качестве вычислительных устройств наряду с универсальными многоядерными процессорами могут использоваться ускорители (графические процессоры или сопроцессоры Intel Xeon Phi). В статье описывается методика отладки параллельных программ в DVM-системе, а также рассматриваются новые возможности DVM-отладчиков.
Докладчик: В.А. Бахтин.
-
Конференция "Иванниковские чтения - 2018 (Ivannikov Memorial Workshop)" проходила 3 - 4 Мая 2018 г. по адресу Армения, Ереван, Российско-Армянский Университет.
Доклады
LLVM Based Approach to Static Analysis of C Programs in SAPFOR
LLVM Based Approach to Static Analysis of C Programs in SAPFOR
Heterogeneous computational systems are becoming very popular nowadays. However, developing efficient parallel programs, that can exploit the potential parallelism of these systems, still remains difficult for most of application programmers. Program parallelization may require significant transformation of the original program. SAPFOR (System FOR Automated Parallelization) aims to simplify the development of parallel programs of scientific-technical calculations. It was designed to perform source-to-source transformation of a sequential program for execution on heterogeneous computational systems. This paper discusses the implementation of program analysis in SAPFOR. The presented approach relies on LLVM (Low Level Virtual Machine) capabilities to examine a program. SAPFOR explores the properties of low-level program representation to recognize related properties of the program in programming language. Some kind of IR-level transformations may be applied without any loss of analysis accuracy. Furthermore, these transformations allow us to increase the quality of program analysis.
Докладчик: Н.А. Катаев.
-
Автоматизация распараллеливания Си версии теста 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