29 lines
2.6 KiB
Markdown
29 lines
2.6 KiB
Markdown
# Лабораторная работа №5
|
||
|
||
### Задачи
|
||
1. Кратко: реализовать умножение двух больших квадратных матриц.
|
||
2. Подробно: сделать два алгоритма: обычный и параллельный (задание со * - реализовать это в рамках одного алгоритма). В параллельном алгоритме предусмотреть ручное задание количества потоков (число потоков = 1 как раз и реализует задание со *), каждый из которых будет выполнять умножение элементов матрицы в рамках своей зоны ответственности.
|
||
|
||
## Скриншот работы программы:
|
||

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