DAS_2024_1/morozov_vladimir_lab_5/readme.md

28 lines
1.8 KiB
Markdown
Raw Normal View History

2024-11-13 21:27:51 +04:00
# Лабораторная работа №5 - Вспоминаем математику или параллельное перемножение матриц
## Разработка приложения
Для разработки был выбран язык Python. Для разработки приложения были использованы библиотки:
- Numpy - библиотека для работы с массивами
- Multiprocessing - библиотека для запуска нескольких процеесов, что позволяет паралельно запускать функции
Суть алгоритма:
- Задаем размер матриц
- Задаем кол-во потоков, которые будут работать паралельно
- Разбиваем 1ю матрицу на матрицы поменьше, кол-во которых = кол-во потоков. Каждый поток будет обрабатывать свой кусок изначальной матрицы, умножая строки своего кусочка на столбцы 2й матрицы
- Объединяем результаты работы всех потоков
## Тестирование
#### Тестирование матриц 100х100
![image1.png](images%2Fimage1.png)
#### Тестирование матриц 300х300
![image2.png](images%2Fimage2.png)
#### Тестирование матриц 500х500
![image3.png](images%2Fimage3.png)
## Вывод
Паралельной алгоритм умножения матриц работает эффективнее, чем обычный.
## Запись тестирования
Работа приложения представлена в [видео](https://disk.yandex.ru/i/YpNEhFwbDh865A)