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