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

Лабораторная работа №5: Вспоминаем математику или параллельное перемножение матриц

Задание

Реализовать умножение двух квадратных матриц двумя способами: обычным и параллельным. В параллельном алгоритме предусмотреть возможность задания количества потоков. Каждый поток должен выполнять умножение матрицы в своей зоне ответственности.

Требования:

  1. Обычное умножение матриц.
  2. Параллельное умножение с ручным заданием количества потоков.
  3. Бенчмаркинг для матриц размером 100x100, 300x300 и 500x500.

Структура проекта

Проект реализован в одном файле main.py. В нем содержатся:

  • Обычное умножение матриц.
  • Параллельное умножение с использованием многозадачности.
  • Генерация случайных матриц для тестирования.
  • Бенчмаркинг для проверки времени выполнения обоих алгоритмов.
  • Тесты для проверки корректности умножения.

Видео

https://cloud.mail.ru/public/Wzc4/FZCUnh5mk

Заключение

В ходе лабораторной работы были реализованы два алгоритма умножения матриц: обычный и параллельный. Параллельное умножение показало значительное ускорение при больших матрицах. Ожидаемо, для маленьких матриц разница в производительности между алгоритмами была незначительной. Параллельное умножение эффективно использует многозадачность для уменьшения времени выполнения на крупных матрицах.