Цели дипломной работы

2.1 Цели проекта "Система автоматизации распараллеливания"

 

Данная дипломная работа является лишь частью проекта автоматизации распараллеливания программ, поэтому сначала остановимся на проекте.

 

Рис. 8. Проект: Система автоматизации распараллеливания.

 

На Рис. 8 схематически показаны составляющие проекта: "Анализ программы", "Эксперт для мультипроцессора" (OpenMP) и "Эксперт для кластера" (DVM).

Пользователь создает последовательную программу на языке Fortran. В итоге работы системы, пользователь получает информацию для анализа:

· дерево циклов; для каждого цикла – его параметры и атрибуты (результаты анализа);

· описания данных;

· описание использования массивов в циклах и найденные зависимости;

· список предложенных (в том числе рассмотренных, но отвергнутых) вариантов распределения (задача "Эксперта");

· созданные и модифицируемые пользователем наборы конфигураций целевой машины и размеров задач;

· для каждого предложенного варианта распараллеливания (всех конфигураций и размеров) и каждого цикла и всей программы, как корня дерева циклов, – оценки времени выполнения и качества распараллеливания для данного варианта (задача "Эксперта");

Программа, поступая в систему автоматизации распараллеливания, проходит анализ, на основании которого формируется База Данных, в которую входят: дерево циклов; описания массивов, описание использования массивов в циклах; дополнительные комментарии.

С информацией из базы данных "Эксперты" ищут самые оптимальные способы распараллеливания и добавляют информацию о них в базу данных. Код программы на выходе системы не изменяется, а всего лишь добавляются комментарии, где рекомендуется вставить директивы OpenMP или DVM (возможно несколько лучших вариантов), насколько будут эффективны эти вставки, а также информация из анализа.

 

2.2 Цели "Эксперта для мультипроцессора"

 

Цель данного диплома – разработка программы, реализующей "Эксперт для мультипроцессора" в проекте. На основании данных, полученных на стадии анализа, и характеристик конкретного мультипроцессора "Эксперт" должен занести в базу данных информацию о комментариях (директивах OpenMP), которые должны быть вставлены в программу, которая получится на выходе системы, а также информацию о прогнозируемой эффективности распараллеливания. Таким образом, "Эксперт" генерирует, оценивает и выбирает лучшие варианты распределения вычислений и локализации данных. Эксперт не изменяет код программы, а лишь вносит в базу данных информацию о "наилучших рекомендациях по распараллеливанию". Эта информация впоследствии и будет выдана пользователю.

 

Входные данные

Описание цикла содержит:

· указание на переменную цикла;

· первое, последнее значение;

· наличие в цикле операторов ввода-вывода, побочных выходов и т.п.

· оценка трудоемкости одного витка цикла;

· признак тесной вложенности;

· список обращений к массивам и переменным.

Дерево циклов – множество циклов с отношением " непосредственно вложен в ". Корень "дерева циклов", уровень программы, сам циклом не является, но формально может считаться "циклом" без переменной цикла с однократным выполнением.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: