Дипломная работа: Система автоматизации распараллеливания отображения на мультипроцессор
· список обращений к массивам и переменным.
Дерево циклов – множество циклов с отношением "непосредственно вложен в ". Корень "дерева циклов", уровень программы, сам циклом не является, но формально может считаться "циклом" без переменной цикла с однократным выполнением.
Список массивов (и простых переменных).
Для каждого массива:
· идентификатор;
· размер по каждому измерению;
· список обращений к массиву.
Вариант задачи:
· размерности массивов по каждому измерению (уже как константы);
· число итераций;
· или значения внешних переменных, от которых зависят эти величины.
Вариант массива процессоров:
· число измерений и размер по каждому измерению (решетка процессоров).
Обращения к массивам (и переменным) в цикле – отношение "к <массиву > обращаются в <цикле >". Для каждой пары <массив, цикл>:
· нет (не создает) зависимости ни между итерациями, ни внутри;
· зависимость внутри одной итерации;
· REDUCTION (зависимость между итерациями создают операторы специального вида, типа a = a + xi );
· Private, Lastprivate, Firstprivate – приватныепеременные
· возникающая из-за него зависимость между итерациями общего вида.
Список всех обращений , т.е. наборов индексных выражений, желательно без повторений. Про каждое надо указать:
· чтение или/и присваивание;
· индексные выражения;
2.4 Выходные и сохраняемые данные
Выходные данные представляют собой:
· Вариантраспараллеливания программы. Вариант представляет собой набор правил получения OpenMP-программы. Оценка эффективности выполняется для данного варианта распараллеливания и данного варианта запуска.
· Оценка данного варианта распараллеливания и данного варианта запуска: параметры производительности цикла, программы в целом и эффективности распараллеливания.
· Информация, объясняющая, почему выбрано данное распределение. Для каждой вставленной директивы производится вычисление ускорения, полученного за счет этой директивы.
3. Предыдущие решения "систем автоматизации распараллеливания"
Здесь будет произведен краткий обзор систем, в которых разработчики и рабочие группы достигли значительных продвижений в решении задачи.
1) Interactive Parallelizing Assistance Tool for OpenMP [7]
AachenUniversity, Германия. 2003 г.