Аннотация
В дипломной работе рассматриваются задачи, связанные с технологией автоматического распараллеливания программ.
В первой ее части обсуждаются этапы развития компьютерной науки в области параллельных вычислений, существующие архитектурные и теоретические решения.
Вторая часть содержит описание проекта разработки системы автоматического распараллеливания программ на языке Fortran77, частью которого является данная дипломная работа.
Третья часть посвящена одному из этапов автоматического распараллеливания – созданию внутреннего представления программы, соответствующего проблематике решаемой задачи. Реализация этого этапа является задачей данной дипломной работы.
В четвертой части приведено описание программного кода дипломной работы, осуществляющего решение поставленной задачи.
В приложении содержится один из примеров, использованных при тестировании программы дипломной работы, и распечатка результатов его обработки.
Оглавление
Введение........................................................................................................... 4
1. Система автоматического распараллеливания........................................ 11
1.1 Назначение системы................................................................................ 11
1.2 Схема работы системы автоматического распараллеливания.............. 12
1.3 Постановка задачи дипломной работы.................................................. 14
2. Создание внутреннего представления программы.................................. 15
2.1 Разбор исходного текста. Система Sage++............................................ 15
2.2 Внутреннее представление программы высокого уровня.................... 19
2.3 Расширенный граф управления. Вспомогательные структуры............ 20
3. Построение расширенного графа управления........................................ 24
3.1 Ограничения на входную программу.................................................... 24
3.2 Описание классов.................................................................................... 24
3.3 Алгоритмы............................................................................................... 30
Заключение.................................................................................................... 35
Библиография................................................................................................ 36
Приложение................................................................................................... 37
Введение
Определим параллельный компьютер как множество процессорных устройств, которые могут согласованно работать над решением вычислительных задач. Это определение является достаточно широким, чтобы в него можно было включить параллельные суперкомпьютеры с сотнями или тысячами процессоров, объединенные в сети рабочие станции, многопроцессорные рабочие станции. Параллельные компьютеры представляют интерес из-за возможности объединения вычислительных ресурсов (процессоров, памяти и др.) для решения важных счетных задач. Если раньше параллелелизм относился к несколько экзотическим областям науки, то дальнейшее изучение направлений развития архитектуры компьютеров, сетевых технологий и конечных приложений коренным образом изменило это представление. Использование параллельных вычислений стало повсеместным, а параллельное программирование – центральным направлением в индустрии программного обеспечения.
Параллелелизм: направления развития Несмотря на постоянно увеличивающееся быстродействие компьютеров, нельзя ожидать, что они станут достаточно быстрыми для удовлетворения всех потребностей всевозможных задач вычислительного характера. ............