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