Лабораторная работа №5
Задачи
- Кратко: реализовать умножение двух больших квадратных матриц.
- Подробно: сделать два алгоритма: обычный и параллельный (задание со * - реализовать это в рамках одного алгоритма). В параллельном алгоритме предусмотреть ручное задание количества потоков (число потоков = 1 как раз и реализует задание со *), каждый из которых будет выполнять умножение элементов матрицы в рамках своей зоны ответственности.
Скриншот работы программы:
Описание программы:
- Программа умножает две большие матрицы и сравнивает скорость работы двух методов:
- Обычный метод - работает в одном процессе
- Параллельный метод - распределяет работу между несколькими процессами
- Запускает benchmark для квадратных матриц размером 100, 300 и 500.
Запуск:
- Скачайте папку с репозитория
- Запустите с помощью команды:
python matrix_multiply.py - Ознакомьтесь с результатом работы программы
Что делает данная лабораторная работа:
Программа реализует умножение больших квадратных матриц двумя способами: последовательным алгоритмом и параллельным алгоритмом с использованием многопроцессорности. Программа включает функционал для benchmarking производительности на матрицах различных размеров.
Вывод
Программа демонстрирует эффективность параллельных вычислений для задач с большой вычислительной сложностью, показывая как размер задачи влияет на эффективность распараллеливания.
Видео:
https://rutube.ru/video/private/8d58707b8ad7b09a214ebfb9a889394c/?p=HhCOysJT6AyC83xhdZ49pQ
