Теория и практика параллельных вычислений

       

Контрольные вопросы


  1. В чем состоит постановка задачи умножения матриц?
  2. Приведите примеры задач, в которых используется операция умножения матриц.
  3. Приведите примеры различных последовательных алгоритмов выполнения операции умножения матриц. Отличается ли их вычислительная трудоемкость?
  4. Какие способы разделения данных используются при разработке параллельных алгоритмов матричного умножения?
  5. Представьте общие схемы рассмотренных параллельных алгоритмов умножения матриц.
  6. Проведите анализ и получите показатели эффективности ленточного алгоритма при горизонтальном разбиении перемножаемых матриц.
  7. Какие информационные взаимодействия выполняются для алгоритмов при ленточной схеме разделения данных?
  8. Какие информационные взаимодействия выполняются для блочных алгоритмов умножения матриц?
  9. Какая топология коммуникационной сети является целесообразной для каждого из рассмотренных алгоритмов?
  10. Какой из рассмотренных алгоритмов характеризуется наименьшими и наибольшими требованиями к объему необходимой памяти?
  11. Какой из рассмотренных алгоритмов обладает наилучшими показателями ускорения и эффективности?
  12. Оцените возможность выполнения матричного умножения как последовательности операций умножения матрицы на вектор.
  13. Дайте общую характеристику программной реализации алгоритма Фокса. В чем могут состоять различия в программной реализации других рассмотренных алгоритмов?
  14. Какие функции библиотеки MPI оказались необходимыми при программной реализации алгоритмов?



Содержание раздела