Дипломная работа: Система автоматизации распараллеливания Отображение на SMP-кластер

Внешний цикл в гнезде – цикл, который не вложен ни в один из циклов гнезда.

Внутренний цикл в гнезде – цикл, в который не вложен ни один из циклов гнезда.

Гнездо циклов распараллелено на DVM витки циклов, принадлежащих гнезду, распределяются между узлами с помощью DVM-директив.

Гнездо циклов распараллелено на OpenMP один из циклов гнезда распараллелен на OpenMP.

Интервал – некоторый участок выполнения программы. В дальнейшем нас будет интересовать только два вида интервалов: гнездо циклов и тело всей программы.

Внутреннее представление DVM -эксперта – набор структур, хранящих информацию о программе. DVM-эксперт заполняет эти структуры, пользуясь информацией из Базы данных.

Специальные комментарий – комментарий языка программирования, который пользователь может вставить в код программы. Специальный комментарий начинается с последовательности символов CPRG. Он сообщает о какой-нибудь особенности, относящейся к оператору, следующему после специального комментария.

1.11 Блок поиска DVM/OpenMP-вариантов

1.11.1 Краткий алгоритм работы

Блок поиска DVM/OpenMP-вариантов распараллеливает на OpenMP каждый DVM-вариант. Результатом его работы являются DVM/OpenMP-варианты. При этом DVM/OpenMP-вариантов получается ровно столько же, сколько было DVM-вариантов.

Для каждого гнезда циклов, распараллеленного в DVM-варианте, Блок поиска DVM/OpenMP-вариантов выполняет следующее:

- Формирует варианты распараллеливания этого гнезда циклов на DVM/OpenMP.

- Оценивает время выполнения распараллеленного гнезда циклов в модели DVM/OpenMP.

- На основании оценки выбирает наилучший вариант распараллеливания гнезда циклов.

- Заносит OpenMP-директивы, распараллеливающие гнездо циклов выбранным способом, в DVM/OpenMP-вариант.

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

Блок поиска DVM/OpenMP-вариантов работает не напрямую с Базой данных, а использует Внутреннее представление, сформированное DVM-экспертом. Нас будет интересовать следующая информация о программе:

· Описание SMP-кластера

o количество узлов кластера

o количество ядер, располагающихся на одном узле

· Описание программной единицы (модуля)

o номер строки первого оператора

· Описание переменных (в том числе массивов):

o текстовое представление

o количество измерений массива (для скаляра – одно измерение)

o количество элементов массива (для скаляра – один элемент)

· Описание циклов (отметим, что модуль программы также считается циклом – циклом верхнего уровня)

o индексная переменная

o начальное значение, конечное значение и шаг итератора цикла.

o приближенное время выполнения одной итерации цикла

o цикл, в который вложен данный цикл (родительский цикл)

o признак тесно-вложенности данного цикла в родительский цикл

К-во Просмотров: 326
Бесплатно скачать Дипломная работа: Система автоматизации распараллеливания Отображение на SMP-кластер