.. | ||
main.py | ||
README.md | ||
result.png |
Лабораторная работа 5. Параллельное умножение матриц
Задание
Требуется сделать два алгоритма: обычный и параллельный. В параллельном алгоритме предусмотреть ручное задание количества потоков, каждый из которых будет выполнять умножение элементов матрицы в рамках своей зоны ответственности.
Запуск программы
Для запуска программы необходимо с помощью командной строки в корневой директории файлов прокета прописать:
python main.py
Описание работы программы
Метод benchmark
выполняет бенчмарк для матриц заданного размера.
Далее генерируются две матрицы matrix1
и matrix2
заданного размера.
После этого вызываются соответствующие методы для вычисления произведения матриц: multiply_matrices
для обычного умножения и multiply_matrices_parallel
для параллельного умножения.
Измеряется время выполнения каждого из методов с использованием функции time.time()
.
Результат работы программы:
Вывод
Параллельное выполнение матричного умножения имеет смысл применять при работе с крупными матрицами, где выигрыш от параллельных вычислений компенсирует затраты на управление потоками. Для небольших матриц может быть эффективнее использовать обычное выполнение