Н., Пескова Е. Е., Шаманаев П. А. Основы параллельного программирования с использованием технологий mpi и openmp учебное пособие саранск издательство свмо 2013 2



Pdf көрінісі
бет2/53
Дата07.06.2023
өлшемі6.58 Mb.
#474796
1   2   3   4   5   6   7   8   9   ...   53
ParProg MPI OpenMP

 
 
 
 
Публикуется на основании устава Средневолжского математического 
общества (пп. 2.4 и 2.5) и по решению редакционного отдела СВМО. 
 
ISBN 978-5-901661-32-1 
©Жалнин Р.В., Панюшкина Е.Н., 
Пескова Е.Е., Шаманаев П.А., 2013 
©Издательство СВМО, 2013 
 



СОДЕРЖАНИЕ 
 
ВВЕДЕНИЕ 

1. ХАРАКТЕРИСТИКА СРЕДСТВ ПРОГРАММИРОВАНИЯ 
МНОГОПРОЦЕССОРНЫХ СИСТЕМ

1.1. Системы с общей памятью 

1.2. Системы с распределенной памятью

2. ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ С 
ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИИ MPI

2.1 Основные понятия 

2.2 Базовые функции MPI 
11 
2.3 Типы данных 
13 
2.4 Процедуры передачи/приема сообщений между отдельными 
процессами 
14 
2.4.1 Обмен сообщениями с блокировкой 
14 
2.4.2 Обмен сообщениями без блокировки 
17 
2.4.3 Обмен сообщениями при помощи одной функции
19 
2.5 Коллективные взаимодействия процессов
20 
2.5.1 Барьерная синхронизация 
21 
2.5.2 Передача данных от одного процесса всем. 
Широковещательная рассылка данных
21 
2.5.3. Передача данных от всех процессов одному. Операции 
редукции
23 
2.5.4. Функции распределения и сбора данных 
24 
2.6 Эффективность параллельных вычислений
27 
2.7 Примеры параллельных алгоритмов и программ
28 
2.7.1 Алгоритм суммирования ряда чисел 
28 
2.7.2 Алгоритм умножения матрицы на вектор 
30 
2.7.3 Алгоритм умножения матриц 
34 
2.7.4 Алгоритм решения СЛАУ методом Гаусса 
39 
2.7.5 Алгоритм параллельной пузырьковой сортировки
41 
3. ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ 
ТЕХНОЛОГИИ OPENMP
45 
3.1 Введение в технологию OpenMP
45 
3.2 Основные понятия 
46 
3.2.1 Модель параллельной программы
46 
3.2.2 Директивы и функции
48 
3.3 Основные конструкции OpenMP
49 
3.3.1 Параллельные секции, переменные среды и замер времени 
49 
3.3.2 Директивы single и master
55 



3.3.3 Классы переменных 
58 
3.4 Варианты распределения работы между нитями
59 
3.4.1 Низкоуровневое программирование 
59 
3.4.2 Распараллеливание оператора цикла 
60 
3.4.3 Параллельные секции
63 
3.4.4 Задачи 
65 
3.5 Синхронизация
67 
3.5.1 Директивы barrier и ordered
67 
3.5.2 Критические секции 
69 
3.5.3 Директива atomic
70 
3.5.4 Замки
71 
3.5.5Директива flush
73 
3.6 Примеры программ с использованием технологии OpenMP
74 
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
76 





Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   53




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет