DAS_2023_1/romanova_adelina_lab_5/README.md

33 lines
2.1 KiB
Markdown
Raw Normal View History

2024-01-16 18:15:06 +04:00
# Лабораторная работа 5. Параллельное умножение матриц
## Задание
Требуется сделать два алгоритма: обычный и параллельный. В параллельном алгоритме предусмотреть ручное задание количества потоков, каждый из которых будет выполнять умножение элементов матрицы в рамках своей зоны ответственности.
### Запуск программы
Для запуска программы необходимо с помощью командной строки в корневой директории файлов прокета прописать:
```
python main.py
```
### Описание работы программы
Метод ```benchmark``` выполняет бенчмарк для матриц заданного размера.
Далее генерируются две матрицы ```matrix1``` и ```matrix2``` заданного размера.
После этого вызываются соответствующие методы для вычисления произведения матриц: ```multiply_matrices``` для обычного умножения и ```multiply_matrices_parallel``` для параллельного умножения.
Измеряется время выполнения каждого из методов с использованием функции ```time.time()```.
### Результат работы программы:
![](result.png "")
#### Вывод
Параллельное выполнение матричного умножения имеет смысл применять при работе с крупными матрицами, где выигрыш от параллельных вычислений компенсирует затраты на управление потоками. Для небольших матриц может быть эффективнее использовать обычное выполнение
# Youtube
https://youtu.be/kX6FrGL9DP0