Автоматизированное преобразование ФОРТРАН-программ, необходимое для их эффективного распараллеливания с помощью системы САПФОР

Никита Андреевич Катаев, Артем Андреевич Буланов

Аннотация


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


Ключевые слова


распараллеливание; автоматизация; преобразование последовательных программ; Фортран

Полный текст:

PDF

Литература


PLUTO – An automatic parallelizer and locality optimizer for multicores. URL: http://pluto-compiler.sourceforge.net/ (дата обращения 28.11.2014).

Par4All – Par4All 1.4.5 documentation. URL: http://www.par4all.org/ (дата обращения 28.11.2014).

Source-to-Source Parallelizing Compiler – Appentra. URL: http://www.appentra.com/ (дата обращения 28.11.2014).

Бахтин, В.А. Автоматическое распрраллеливание последовательных программ для многоядерных кластеров. / В.А. Бахтин, М.С. Клинов, В.А. Крюков, Н.В. Поддерюгина // Научный сервис в сети Интернет: суперкомпьютерные центры и задачи: Труды Международной научной конференции (Новороссийск, 20–25 сентября 2010 г.). — М.: Изд-во МГУ, 2010. — С. 12–15.

Бахтин, В.А. Диалог с программистом в системе автоматизации распараллеливания САПФОР. / В.А. Бахтин, И.Г. Бородич, Н.А. Катаев, М.С. Клинов, Н.В. Ковалева, В.А. Крюков, Н.В. Поддерюгина // Вестник Нижегородского университета им. Н.И. Лобачевского. — 2012 — № 5 (2). — C. 242–245.

Intel Parallel Studio. URL: http://software.intel.com/en-us/intel-parallel-studio-home (дата обращения 28.11.2014) .

Automatic Parallelization for Multi-processor/Multi-cores systems URL: http://www.parallelsp.com/ (дата обращения 28.11.2014).

Юрушкин, М.В. Диалоговый высокоуровневый оптимизирующий распараллеливатель (ДВОР). / М.В. Юрушкин, В.В. Петренко, Б.Я Штейнберг, Е.В. Алымова, А.А, Абрамов, А.П. Баглий, С.А. Гуда, Д.В. Дубров, Е.Н. Кравченко, Р.И. Морылев, З.Я. Нис, С.В. Полуян, И.С. Скиба, В.Н. Шаповалов., О.Б. Штейнберг, Р.Б. Штейнберг // Научный сервис в сети Интернет: суперкомпьютерные центры и задачи: Труды Международной научной конференции (Новороссийск, 20 – 25 сентября 2010 г.). — М.: Изд-во МГУ, 2010. — С. 71–75.

Бахтин, В.А. Расширение DVM-модели параллельного программирования для кластеров с гетерогенными узлами. / В.А. Бахтин, М.С. Клинов, В.А. Крюков, Н.В. Поддерюгина, М.Н. Притула, Ю.Л. Сазанов // Вестник Южно-Уральского государственного университета. Серия «Математическое моделирование и программирование». — 2012 — № 18 (277), вып. 12. — С 82–92.

Коновалов, Н.А Fortran DVM — язык разработки мобильных параллельных программ. / Н.А. Коновалов, В.А. Крюков, С.Н. Михайлов, А.А. Погребцов // Программирование. — 1995. — № 1. — C. 49–54.

Almagor, L. Finding effective compilation sequences. / L. Almagor, K.D. Cooper, A. Grosul, T.J. Harvey, S.W. Reeves, D. Subramanian, L. Torczon, T. Waterman. // Proceedings of the ACM SIGPLAN/SIGBED 2004 Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES’04) (Washington, DC, 11–13 June 2004). — New York: NY, USA. — Vol. 39, Issue 7. — P. 231–239. DOI: 10.1145/997163.997196.

Бахтин, В.А. Распараллеливание с помощью DVM-системы некоторых приложений гидродинамики для кластеров с графическими процессорами. / В.А. Бахтин, И.Г. Бородич, Н.А. Катаев, М.С. Клинов, В.А. Крюков, Н.В. Поддерюгина, М.Н. Притула, Ю.Л. Сазанов // Научный сервис в сети Интернет: поиск новых решений: Труды Международной суперкомпьютерной конференции (Новороссийск, 17–22 сентября 2012 г.). — М.: Изд-во МГУ, 2012. — С. 444–450.

Катаев, Н.А. Преобразования последовательных программ при их распараллеливании с помощью системы САПФОР. / Н.А. Катаев, М.С. Клинов, Н.В, Поддерюгина. // Параллельные вычислительные технологии (ПаВТ’2013): Труды международной научной конференции (Челябинск, 1–5 апреля 2013 г.). — Челябинск: Издательский центр ЮУрГУ, 2013. — С. 387–393.

Бахтин, В.А Автоматическое отображение программ на языке Фортран на кластеры с графическими процессорами. / В.А. Бахтин, М.С. Клинов, А.С. Колганов, В.А. Крюков, Н.В. Поддерюгина, М.Н. Притула // Вестник Южно-Уральского государственного университета. Серия «Вычислительная математика и информатика». — 2014. — Т. 3, № 3. — C. 86–96. DOI: 10.14529/cmse140305.

Штейнберг, Б.Я. Разбиение циклов для исполнения на суперкомпьютере с архитектурой перестраиваемого конвейера. / Б.Я. Штейнберг // Искусственный интеллект. — 2002. — № 3. — С. 331–338.

Давыдов, А.А. Моделирование течений несжимаемой жидкости и слабосжимаемого газа на многоядерных гибридных вычислительных системах. / А.А Давыдов, Б.Н. Четверушкин, Е.В. Шильников // Вычислительная математика и математическая физика. — 2010. — Т. 50, № 12. — С. 2275–2284.

pC++/Sage++ Home Page. URL: http://www.extreme.indiana.edu/sage/ (дата обращения: 01.12.2012).




DOI: http://dx.doi.org/10.14529/cmse150302