DAS_2023_1/romanova_adelina_lab_5
2024-01-16 18:15:06 +04:00
..
main.py romanova_adelina_lab_5_ready 2024-01-16 18:15:06 +04:00
README.md romanova_adelina_lab_5_ready 2024-01-16 18:15:06 +04:00
result.png romanova_adelina_lab_5_ready 2024-01-16 18:15:06 +04:00

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

Задание

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

Запуск программы

Для запуска программы необходимо с помощью командной строки в корневой директории файлов прокета прописать:

python main.py

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

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

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

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

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

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

Вывод

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

Youtube

https://youtu.be/kX6FrGL9DP0