DAS_2024_1/putilin_pavel_lab_5/README.md
2024-12-05 17:40:44 +04:00

38 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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