.. | ||
main.py | ||
README.md |
Лабораторная работа №5: Вспоминаем математику или параллельное перемножение матриц
Задание
Реализовать умножение двух квадратных матриц двумя способами: обычным и параллельным. В параллельном алгоритме предусмотреть возможность задания количества потоков. Каждый поток должен выполнять умножение матрицы в своей зоне ответственности.
Требования:
- Обычное умножение матриц.
- Параллельное умножение с ручным заданием количества потоков.
- Бенчмаркинг для матриц размером 100x100, 300x300 и 500x500.
Структура проекта
Проект реализован в одном файле main.py
. В нем содержатся:
- Обычное умножение матриц.
- Параллельное умножение с использованием многозадачности.
- Генерация случайных матриц для тестирования.
- Бенчмаркинг для проверки времени выполнения обоих алгоритмов.
- Тесты для проверки корректности умножения.
Видео
https://cloud.mail.ru/public/Wzc4/FZCUnh5mk
Заключение
В ходе лабораторной работы были реализованы два алгоритма умножения матриц: обычный и параллельный. Параллельное умножение показало значительное ускорение при больших матрицах. Ожидаемо, для маленьких матриц разница в производительности между алгоритмами была незначительной. Параллельное умножение эффективно использует многозадачность для уменьшения времени выполнения на крупных матрицах.