DAS_2024_1/morozov_vladimir_lab_5
2024-11-13 21:27:51 +04:00
..
images morozov_vladimir_lab_5 is ready 2024-11-13 21:27:51 +04:00
app.py morozov_vladimir_lab_5 is ready 2024-11-13 21:27:51 +04:00
readme.md morozov_vladimir_lab_5 is ready 2024-11-13 21:27:51 +04:00

Лабораторная работа №5 - Вспоминаем математику или параллельное перемножение матриц

Разработка приложения

Для разработки был выбран язык Python. Для разработки приложения были использованы библиотки:

  • Numpy - библиотека для работы с массивами
  • Multiprocessing - библиотека для запуска нескольких процеесов, что позволяет паралельно запускать функции

Суть алгоритма:

  • Задаем размер матриц
  • Задаем кол-во потоков, которые будут работать паралельно
  • Разбиваем 1ю матрицу на матрицы поменьше, кол-во которых = кол-во потоков. Каждый поток будет обрабатывать свой кусок изначальной матрицы, умножая строки своего кусочка на столбцы 2й матрицы
  • Объединяем результаты работы всех потоков

Тестирование

Тестирование матриц 100х100

image1.png

Тестирование матриц 300х300

image2.png

Тестирование матриц 500х500

image3.png

Вывод

Паралельной алгоритм умножения матриц работает эффективнее, чем обычный.

Запись тестирования

Работа приложения представлена в видео