DAS_2024_1/melnikov_igor_lab_5/README.md
2024-12-15 03:37:34 +04:00

2.2 KiB
Raw Blame History

Лабораторная работа №5 - Параллельное умножение матриц

Задание

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

Описание работы программы

Метод benchmark выполняет бенчмарк для матриц заданного размера.

Далее генерируются две матрицы matrix1 и matrix2 заданного размера.

После этого вызываются соответствующие методы для вычисления произведения матриц: multiply_matrices для обычного умножения и multiply_matrices_parallel для параллельного умножения.

Измеряется время выполнения каждого из методов с использованием функции time.time().

Результат работы программы

Вывод

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

Видеозапись работы программы

https://disk.yandex.ru/i/5gUyRJw0TM7-rw