# Лабораторная работа №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