# Лабораторная работа №5 ### Задачи 1. Кратко: реализовать умножение двух больших квадратных матриц. 2. Подробно: сделать два алгоритма: обычный и параллельный (задание со * - реализовать это в рамках одного алгоритма). В параллельном алгоритме предусмотреть ручное задание количества потоков (число потоков = 1 как раз и реализует задание со *), каждый из которых будет выполнять умножение элементов матрицы в рамках своей зоны ответственности. ## Скриншот работы программы: ![5.png](screenshots/5.png) ## Описание программы: 1. Программа умножает две большие матрицы и сравнивает скорость работы двух методов: * Обычный метод - работает в одном процессе * Параллельный метод - распределяет работу между несколькими процессами 2. Запускает benchmark для квадратных матриц размером 100, 300 и 500. ## Запуск: 1. Скачайте папку с репозитория 2. Запустите с помощью команды: `python matrix_multiply.py` 3. Ознакомьтесь с результатом работы программы ## Что делает данная лабораторная работа: Программа реализует умножение больших квадратных матриц двумя способами: последовательным алгоритмом и параллельным алгоритмом с использованием многопроцессорности. Программа включает функционал для benchmarking производительности на матрицах различных размеров. ## Вывод Программа демонстрирует эффективность параллельных вычислений для задач с большой вычислительной сложностью, показывая как размер задачи влияет на эффективность распараллеливания. ## Видео: https://rutube.ru/video/private/8d58707b8ad7b09a214ebfb9a889394c/?p=HhCOysJT6AyC83xhdZ49pQ