RUS ENG

Лиходед Н. А. Методы распараллеливания гнезд циклов

Лиходед Н. А. Методы распараллеливания гнезд циклов : курс лекций / Н. А. Лиходед. - Минск : БГУ, 2008. -100 с.

ISBN 978-985-485-775-6

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

Для студентов, аспирантов и специалистов в области параллельных вычислений.

Скачать курс лекций


Оглавление

ВВЕДЕНИЕ 5

 

Глава 1 МАТЕМАТИЧЕСКИЙ АППАРАТ И МОДЕЛИ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ

8

1.1 Основные определения

8

1.1.1 Функции, задающие индексы массивовданных

8

1.1.2 Зависимости

9

1.1.3 Представление зависимостей

12

1.2 Типы зависимостей. Устранение антизависимо стей и зависимостей по выходу

15

1.2.1 Переобозначение

16

1.2.2 Увеличение размерности

17

1.2.3 Расщепление операторов

17

1.3 Таймирующие функции

21

1.4 Аффинные преобразования гнезд вложенных циклов

25

1.4.1 Преобразования тесно вложенных циклов

26

1.4.2 Применение к не тесно вложенным циклам .

31

Глава 2 ПОЛУЧЕНИЕ ТАЙМИРУЮЩИХ ФУНКЦИЙ И ПРЕОБРАЗОВАНИЙ ЦИКЛОВ

33

2.1 Распараллеливание, использующее уровни зави симостей

33

2.2 Получение таймирующих функций для однород ных гнезд циклов

38

2.3 Необходимые и достаточные условия для сохра нения зависимостей

45

2.4 Получение таймирующих функций для аффин ных гнезд циклов

49

2.4.1 Условия и алгоритм получения t -функций

49

2.4.2 Получение наибольшего числа независимых тай- мирований

52

2.5 Генерация кода

57

Глава 3 РАСПРЕДЕЛЕНИЕ ОПЕРАЦИЙ И ДАН НЫХ МЕЖДУ ПРОЦЕССОРАМИ. ЛОКАЛИЗАЦИЯ ДАННЫХ

64

3.1 Пространственно-временное отображение. Обоб щенный конвейерный параллелизм

64

3.2 Функции распределения массивов между процес сорами и итерациями

67

3.3 Организация обмена данными

75

   

3.3.1 Организация бродкаста

75

3.3.2 Организация трансляции данных

77

3.3.3 Установление схемы обмена данными

79

   

3.4 Улучшение локальности гнезд циклов

85

3.5 Блокинг. Тайлинг

92

   

3.5.1 Задачи, связанные с разбиением операцийалгоритма на зерна вычислений

92

3.5.2 Разбиение пространств итераций на блоки и тайлы

94

3.5.3 Выбор параметров таила и локальность данных

95

3.5.4 Получение зерна вычислений

95

3.5.5 Примеры разбиения циклов

97

ЛИТЕРАТУРА

99

Другие сайты факультетаСтруктураОбразованиеМагистратураНаукаМеждународное сотрудничествоСтудентуНИРСАСовет молодых ученыхОлимпиадыАбитуриентуШкольникуЦентр
Компетенций
по ИТ
Microsoft
Imagine Premium
ИсторияИздания факультетаПрофбюро ФПМИПерсональные страницыФотогалереи Газета ФПМыНаши партнеры