( ПРВ ) Параллельные и распределенные вычисления_Лабораторная работа 5

Раздел
Программирование
Просмотров
171
Покупок
0
Антиплагиат
70% Антиплагиат.РУ (модуль - Интернет Free)eTXTАнтиплагиат.ВУЗ
Размещена
24 Ноя 2022 в 15:24
ВУЗ
ДонГТУ
Курс
3 курс
Стоимость
120 ₽
Демо-файлы   
4
png
Скриншот 24.11.22_13.46.49 Скриншот 24.11.22_13.46.49
13 Кбайт 13 Кбайт
png
Скриншот 24.11.22_13.46.37 Скриншот 24.11.22_13.46.37
17.8 Кбайт 17.8 Кбайт
png
Скриншот 24.11.22_13.46.11 Скриншот 24.11.22_13.46.11
22.3 Кбайт 22.3 Кбайт
png
lb5 lb5
310.7 Кбайт 310.7 Кбайт
Файлы работы   
1
Каждая работа проверяется на плагиат, на момент публикации уникальность составляет не менее 40% по системе проверки eTXT.
rar
lab5_( ПРВ ) Параллельные и распределенные вычисления
704 Кбайт 120 ₽
Описание

Тема: Производные типы в MPI

Цель: Научиться использовать механизмы создания и работы с производными типами данных

Оглавление

Задание к лабораторной работе

 

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

Задание 1

В программе на языке C (lab51.c) имеется двумерный массив М, представляющий собой квадратную матрицу размерность матрицы зависит от числа работающих процессов. Используя приведенный шаблон, в соответствии с приведенными заданиями и рекомендациями:

Задание 1.1 Создать производный тип данных mCol, описывающий столбцы матрицы M (использовать конструктор типа MPI_Type_vector). Зарегистрировать производный тип mCol.

Задание 1.2 Создать производный тип данных mRow, описывающий строки матрицы M (использовать конструктор типа MPI_Type_contiguous). Зарегистрировать производный тип mRow.

Задание 1.3 Выполнить транспонирование матрицы в главном процессе, для чего:

 a) разослать столбцы матрицы с использованием нового производного типа mCol самому себе (использовать MPI_Send) ;

b) принять разосланные столбцы от самого себя и перезаписать матрицу M так, чтобы получилась транспонированная матрица (использовать MPI_Recv)

Задание 1.4 Разослать строки матрицы всем процессам, включая самого себя с использованием производного типа данных mRow (использовать MPI_Send)

Задание 1.5 Принять строку матрицы от главного процесса в массив m (использовать MPI_Recv)

Задание 1.6 Расчитать локальную сумму элементов массива m, результат записать в переменную sum

Задание 1.7 С помощью MPI_Gather, выполнить "склейку" локальных сумм (переменная sum) из каждого процесса в массив sR в главном процессе

Задание 1.8 С помощью вызова MPI_Reduce, посчитать сумму элементов матрицы по столбцам, для чего необходимо:

 a) применить операцию редукции к массиву m ;

 b) результат записать в массив sC c) операция приведения - MPI_SUM

Задание 1.9 Уничтожить созданные производные типы данных

Задание 2 В программе на языке C (lab52.c) необходимо выполнить отправку структуры данных путем создания нового производного типа. Изучить исходный код приложения и внести необходимые правки для его корректной работы. Аргументы функций MPI_Type_struct и MPI_Type_commit, а также некоторые другие фрагменты пропущены. Добавить эти фрагменты. Откомпилировать и запустить программу.

Задание 3 Модифицируйте программу из предыдущего задания таким образом что бы структура данных передавалась с помощью упаковки и распаковки данных, программу сохраните под именем lab53.c.

Список литературы

Литература

Эндрю Таненбаум, Мартин ван Стеен Распределенные системы. Принципы и парадигмы = Andrew S. Tanenbaum, Maarten van Steen. "Destributed systems. Principles and paradigms. — Санкт-Петербург: Питер, 2003. — 877 с. — (Классика computer science). — ISBN 5-272-00053-6

С. Н. Андрианов, А. Б. Дегтярев 1 // ПАРАЛЛЕЛЬНЫЕ И РАСПРЕДЕЛЕННЫЕ ВЫЧИСЛЕНИЯ. — С.-Петерб.: Издательство С.-Петербургского университета, 2007. — 61 с.

А. А. Букатов, В. Н. Дацюк, А. И. Жегуло Программирование многопроцессорных вычислительных систем. — Ростов-на-Дону: ООО «ЦВВР», 2003. — 208 с. — ISBN 5-94153-062-5

Эндрюс Г.Р. Основы многопоточного, параллельного и распределенного программирования. Пер.с англ. — М.: Издательский дом «Вильямс», 2003.

Миллер Р., Боксер Л. Последовательные и параллельные алгоритмы. Пер. с англ. — М.: БИНОМ. Лаборатория знаний, 2006.

Богачёв К.Ю. Основы параллельного программирования. — М.: БИНОМ. Лаборатория знаний, 2003.

Вам подходит эта работа?
Похожие работы
Основы программирования
Лабораторная работа Лабораторная
2 Ноя в 14:20
13 +13
0 покупок
Другие работы автора
Организация ЭВМ
Лабораторная работа Лабораторная
24 Ноя 2022 в 15:48
328 +2
0 покупок
Организация ЭВМ
Лабораторная работа Лабораторная
24 Ноя 2022 в 15:46
281 +1
0 покупок
Организация ЭВМ
Лабораторная работа Лабораторная
24 Ноя 2022 в 15:44
254 +1
0 покупок
Организация ЭВМ
Лабораторная работа Лабораторная
24 Ноя 2022 в 15:40
257 +1
1 покупка
Организация ЭВМ
Лабораторная работа Лабораторная
24 Ноя 2022 в 15:38
227 +1
0 покупок
Организация ЭВМ
Лабораторная работа Лабораторная
24 Ноя 2022 в 15:36
301 +2
0 покупок
Организация ЭВМ
Лабораторная работа Лабораторная
24 Ноя 2022 в 15:33
202 +1
0 покупок
Основы программирования
Лабораторная работа Лабораторная
24 Ноя 2022 в 15:30
201 +1
0 покупок
Основы программирования
Лабораторная работа Лабораторная
24 Ноя 2022 в 15:26
171
0 покупок
Основы программирования
Лабораторная работа Лабораторная
24 Ноя 2022 в 15:19
182
0 покупок
Основы программирования
Лабораторная работа Лабораторная
24 Ноя 2022 в 15:16
122 +1
0 покупок
Основы программирования
Лабораторная работа Лабораторная
24 Ноя 2022 в 15:13
166 +1
0 покупок
Основы программирования
Лабораторная работа Лабораторная
24 Ноя 2022 в 15:09
148 +1
0 покупок
Компьютерные сети и системы
Лабораторная работа Лабораторная
24 Ноя 2022 в 12:53
2 271
0 покупок
Компьютерные сети и системы
Лабораторная работа Лабораторная
24 Ноя 2022 в 12:50
8 409 +40
0 покупок
Компьютерные сети и системы
Лабораторная работа Лабораторная
24 Ноя 2022 в 12:46
152 +1
0 покупок
Компьютерные сети и системы
Лабораторная работа Лабораторная
24 Ноя 2022 в 12:43
1 327 +2
0 покупок
Компьютерные сети и системы
Лабораторная работа Лабораторная
24 Ноя 2022 в 12:39
161
0 покупок
Компьютерные сети и системы
Лабораторная работа Лабораторная
24 Ноя 2022 в 12:35
162 +1
0 покупок
Электротехника
Контрольная работа Контрольная
23 Ноя 2022 в 19:52
206 +1
0 покупок
Темы журнала
Показать ещё
Прямой эфир