Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Указания по выполнению лабораторных работ_1.doc
Скачиваний:
4
Добавлен:
16.08.2019
Размер:
569.86 Кб
Скачать

Практическая часть

2.5. Составить и отладить программу распараллеливания вычислений путем разбиения матриц на блоки (с необходимыми комментариями). При этом в качестве входной базы данных использовать базу выходных данных первого этапа распараллеливания (см."Лабораторную работу №1").

2.6. Создать базу выходных данных из блоков матриц, полученных в результате решения задачи второго этапа распараллеливания.

2.7. Составить и отладить программу вывода на экран результатов разбиения матриц на блоки с необходимыми комментариями.

2.8. Составить и отладить программу построения результирующей макроматрицы С*, полученной путем перемножения блоков матриц А и В.

2.9. Создать базы выходных данных из элементов макроблоков макроматрицы С*.

2.10. Составить и отладить программы вывода на экран всех входных и выходных баз данных задачи разбиения матриц на блоки с необходимыми комментариями.

2.11. Представить на экране результаты разбиения матриц на блоки .

2.12. Сравнить эффективность алгоритмов прямого перемножения матриц из "Лабораторной работы №1" и разбиения матриц на блоки из "Лабораторной работы №2".

Отчет о работе

Отчет о лабораторной работе должен иметь следующую структуру и содержать разделы:

Титульный лист (см.выше)

Содержание работы

Название и цель работы (см.выше)

Реферат (общая характеристика работы – см.выше)

Расчетно-графическая часть

Матрицы А и В после исключения нулевых строк и столбцов (взять из "Лабораторной работы №1")

Алгоритм разбиения матриц А и В на макроблоки

Макроблоки матриц А и В

Алгоритм перемножения макроблоков матриц А и В

Результирующая макроматрица С* перемножения макроблоков матриц А и В

Макроблоки результирующей макроматрицы С*

Практическая часть

База входных данных для матриц А и В (здесь и далее – привести листинг (распечатку) и указать используемый тип системной базы данных)

Программа разбиения матриц на блоки (здесь и далее - привести листинг и указать используемую систему программирования)

База выходных данных для макроблоков матриц А и В

Программа перемножения макроблоков матриц А и В

База выходных данных для результирующей матрицы С* перемножения макроблоков матриц А и В

База выходных данных для макроблоков результирующей макроматрицы С*

Сравнительный анализ алгоритмов перемножения матриц и выводы (сравнить эффективность алгоритма прямого перемножения матриц из "Лабораторной работы №1" и алгоритма разбиения матриц на блоки из данной работы".

5Лабораторная работа №5 " Макроалгоритмы параллельных вычислений "

Цель работы – приобретение практических навыков построения и применения макроалгоритмов параллельных вычислений.

Общая характеристика работы

В данной лабораторной работе требуется построить параллельный макроалгоритм решения задачи перемножения элементов макроблоков результирующей макроматрицы С*, которая была сформирована в "Лабораторной работе №2".

Построение параллельного макроалгоритма осуществляется в два этапа.

На первом этапе строятся параллельные формы и графы алгоритма вычисления значений макроблоков макроматрицы С*, полученных путем перемножения блоков матриц А и В.

На втором этапе строятся параллельные формы и графы алгоритма вычисления значений элементов каждого макроблока макроматрицы С*, полученных путем перемножения элементов блоков матриц А и В.

Совокупность всех параллельных форм и графов алгоритма решения поставленной задачи, полученных на обеих этапах, будем называть параллельным макроалгоритмом вычислений.

Например, в задании №8 результирующая макроматрица С* имеет вид:

Результирующая макроматрица С*[2,2]

Номера строк

Номера столбцов

1

2

1

С1=А1·В10·В21·В1

С0=А1·В00·В3=0

2

С22·В13·В2

С3=А2·В03·В33·В3

На первом этапе строятся параллельные формы алгоритма вычисления значений макроблоков С1 , С2 , С3 , С0 макроматрицы С*, полученных путем перемножения блоков А1, А2 , А3 , А0 матрицы А и блоков В1 , В2 , В3 , В0 матрицы В.

На втором этапе строятся параллельные формы и графы алгоритма вычисления значений элементов каждого макроблока макроматрицы С*, полученных путем перемножения элементов блоков матриц А и В. Например, макроблок С1 является произведением блоков А1 и В1:

Блок А1 [2,4]

Номера строк

Номера столбцов

1

2

3

4

1

а11

а12

0.

0.

2

а21

0.

а23

а24

Блок В1 [4,5]

Номера строк

Номера столбцов

1

2

3

4

5

1

b11

b12

0.

0.

0.

2

b21

0.

b23

b24

0.

3

0.

b32

0.

b34

b35

4

0.

0.

b43

0.

b45

т.е. макроблок С1 состоит из следующих элементов:

Макроблок С1 [2,5]

Номера строк

Номера столбцов

1

2

3

4

5

1

а11b11+ а12b21

а11b12

а12b23

а12b24

0.

2

а21b11

а21b12+ а23b32

а24b43

а23b34

а23b35+ а24b45

Необходимо построить параллельные формы, графы, матрицы и списки инциденций и смежности параллельного макроалгоритма вычислений элементов макроблоков С1, С2 и С3 (нулевой блок С0 не рассматривается). Соответствующие теоретические сведения были приведены в предыдущих "Лабораторных работах".