# Лабораторная работа 5. Параллельное умножение матриц ## Задание Требуется сделать два алгоритма: обычный и параллельный. В параллельном алгоритме предусмотреть ручное задание количества потоков, каждый из которых будет выполнять умножение элементов матрицы в рамках своей зоны ответственности. ### Запуск программы Для запуска программы необходимо с помощью командной строки в корневой директории файлов прокета прописать: ``` python main.py ``` ### Описание работы программы Метод ```benchmark``` выполняет бенчмарк для матриц заданного размера. Далее генерируются две матрицы ```matrix1``` и ```matrix2``` заданного размера. После этого вызываются соответствующие методы для вычисления произведения матриц: ```multiply_matrices``` для обычного умножения и ```multiply_matrices_parallel``` для параллельного умножения. Измеряется время выполнения каждого из методов с использованием функции ```time.time()```. ### Результат работы программы: ![](result.png "") #### Вывод Параллельное выполнение матричного умножения имеет смысл применять при работе с крупными матрицами, где выигрыш от параллельных вычислений компенсирует затраты на управление потоками. Для небольших матриц может быть эффективнее использовать обычное выполнение # Youtube https://youtu.be/kX6FrGL9DP0