Вопросы и задания к главе 5

1.     Пусть матрица А распределена по процессорам построчно, требуется организовать такую пересылку данных, чтобы в ее процессе на всех остальных процессорах была получена транспонированная матрица, распределенная по столбцам.

2.     При условиях предыдущей задачи получить транспонированную матрицу на всех процессорах.

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

4.     При условиях задачи № 65 вычислите время на реализацию алгоритма произведения матрицы А на вектор b, если матрица А построчно слоистым образом распределена по процессорам, а вектор b хранится на все процессорах целиком, результат должен в конечном итоге находиться на нулевом процессоре.

5.     Используя изученные функции, напишите параллельную программу, реализующую параллельный алгоритм скалярного умножения векторов. Получите графики пересылок данных между процессорами с помощью утилиты Jumphot. Определите время на реализацию ветвей алгоритма для каждого узла кластера с помощью функции замера времени (MPI_WTIME).

6.     Напишите программу, используя коммуникационную функцию (MPI_Bcast) и глобальную вычислительную функцию (MPI_Reduce),  реализующую алгоритм суммирования ряда чисел. Получите графики пересылок данных между процессорами с помощью утилиты Jumphot.

7.     Реализуйте последовательный алгоритм умножения матрицы на вектор, получите зависимость времени реализации алгоритма от размера матрицы. Реализуйте параллельный строчно-ориентированный алгоритм умножения матрицы на вектор, вычислите время реализации алгоритма на различном числе процессоров для размера матрицы от 100х100 до 1000х1000. Вычислите ускорение и эффективность параллельного алгоритма по сравнению с последовательным в зависимости от размера матрицы. Реализуйте параллельный столбцово-ориентированный алгоритм умножения матрицы на вектор, вычислите время реализации алгоритма на различном числе процессоров для размера матрицы от 100х100 до 1000х1000. Вычислите ускорение и эффективность параллельного алгоритма по сравнению с последовательным в зависимости от размера матрицы. Проведите сравнение параллельных алгоритмов (строчно- и столбцово-ориентированного) по ускорению и эффективности.

8.     Реализуйте последовательный алгоритм умножения матрицы на матрицу, получите зависимость времени реализации алгоритма от размера матрицы. Реализуйте параллельный алгоритм умножения матрицы на матрицу в случае, когда 1 матрица строчно-слоисто, а 2 - целиком распределены по процессорам, вычислите время реализации алгоритма на различном числе процессоров для размера матрицы от 100х100 до 1000х1000. Вычислите ускорение и эффективность параллельного алгоритма по сравнению с последовательным в зависимости от размера матрицы.

9.     Реализуйте последовательный алгоритм решения СЛАУ методом простой итерации, получите зависимость времени реализации алгоритма от размера матрицы. Реализуйте параллельный алгоритм решения СЛАУ методом простой итерации, когда матрица строчно-слоисто распределена по процессорам, вычислите время реализации алгоритма на различном числе процессоров для размера матрицы от 100х100 до 1000х1000. Вычислите ускорение и эффективность параллельного алгоритма по сравнению с последовательным в зависимости от размера матрицы.

10.     Реализуйте последовательный алгоритм решения СЛАУ прямым методом Гаусса с выбором ведущего элемента, получите зависимость времени реализации алгоритма от размера матрицы. Реализуйте параллельный строчно-ориентированный алгоритм решения СЛАУ прямым методом Гаусса с выбором ведущего элемента, вычислите время реализации алгоритма на различном числе процессоров для размера матрицы от 100х100 до 1000х1000. Реализуйте параллельный столбцово-ориентированный алгоритм решения СЛАУ прямым методом Гаусса с выбором ведущего элемента, вычислите время реализации алгоритма на различном числе процессоров для размера матрицы от 100х100 до 1000х1000. Вычислите ускорение и эффективность параллельного алгоритма по сравнению с последовательным в зависимости от размера матрицы и выбранного хранения матрицы по процессорам.

11.     Реализуйте параллельный алгоритм решения СЛАУ прямым методом Гаусса с выбором ведущего элемента с применением приема “опережающего вычисления и опережающей рассылки”, получите зависимость времени реализации алгоритма от размера матрицы, вычислите время реализации алгоритма на различном числе процессоров для размера матрицы от 100х100 до 1000х1000. Вычислите ускорение и эффективность параллельного алгоритма по сравнению с последовательным в зависимости от размера матрицы и выбранного хранения матрицы по процессорам.