35 lines
1.4 KiB
Markdown
35 lines
1.4 KiB
Markdown
|
# Лабораторная работа №5 - Параллельное умножение матриц
|
|||
|
Цель:
|
|||
|
1. Реализовать алгоритм последовательного умножения матриц
|
|||
|
2. Реализовать алгоритм параллельного умножения матриц
|
|||
|
|
|||
|
## Запуск
|
|||
|
Запускаем скрипт `main.py`, вывод будет консольным.
|
|||
|
|
|||
|
## Код:
|
|||
|
Последовательное умножение:
|
|||
|
|
|||
|
![img.png](screenshots/img.png)
|
|||
|
|
|||
|
Параллельное умножение:
|
|||
|
|
|||
|
![img_2.png](screenshots/img_2.png)
|
|||
|
|
|||
|
![img_3.png](screenshots/img_3.png)
|
|||
|
|
|||
|
Тесты:
|
|||
|
|
|||
|
![img_4.png](screenshots/img_4.png)
|
|||
|
|
|||
|
# Работа программы
|
|||
|
|
|||
|
Вывод:
|
|||
|
|
|||
|
![img_5.png](screenshots/img_5.png)
|
|||
|
|
|||
|
Таким образом, параллельное умножение дало преимущество при переменожении матриц большей размерности,
|
|||
|
а на матрицах меньших размерностей не давало никаких преимуществ, а даже, наоборот, проигрывало последовательному перемножению.
|
|||
|
Это связано с тем, что больше времени ушло на переключение между ядрами процессора.
|
|||
|
|
|||
|
Видео: https://youtu.be/f4ayPI423n0
|