DAS_2024_1/putilin_pavel_lab_5/README.md

38 lines
2.3 KiB
Markdown
Raw Normal View History

2024-12-05 17:40:44 +04:00
# Лабораторная работа №5: Вспоминаем математику или параллельное перемножение матриц
## Задание
Реализовать умножение двух квадратных матриц двумя способами: обычным и параллельным.
В параллельном алгоритме предусмотреть возможность задания количества потоков.
Каждый поток должен выполнять умножение матрицы в своей зоне ответственности.
### Требования:
1. Обычное умножение матриц.
2. Параллельное умножение с ручным заданием количества потоков.
3. Бенчмаркинг для матриц размером 100x100, 300x300 и 500x500.
## Структура проекта
Проект реализован в одном файле `main.py`. В нем содержатся:
- Обычное умножение матриц.
- Параллельное умножение с использованием многозадачности.
- Генерация случайных матриц для тестирования.
- Бенчмаркинг для проверки времени выполнения обоих алгоритмов.
- Тесты для проверки корректности умножения.
## Видео
https://cloud.mail.ru/public/Wzc4/FZCUnh5mk
## Заключение
В ходе лабораторной работы были реализованы два алгоритма умножения матриц:
обычный и параллельный. Параллельное умножение показало
значительное ускорение при больших матрицах.
Ожидаемо, для маленьких матриц разница
в производительности между алгоритмами была незначительной.
Параллельное умножение эффективно использует многозадачность
для уменьшения времени выполнения на крупных матрицах.