.. | ||
screens | ||
main.py | ||
readme.md |
Лабораторная работа №5.
Задание
Реализовать умножение двух больших квадратных матриц
Ход выполнения
- Реализовать алгоритм перемножение матриц для потокового выполнения
- Адаптировать алгоритм для параллельного выполнения:
- Разделить данные на чанки, сохранив корректность вычислений
Технологии
numpy
: библиотека для работы с многомерными массивами и матрицами в Python.multiprocessing
: модуль Python, предоставляющий возможность создания и управления процессами, что позволяет реализовать параллельные вычисления.
Ход работы
-
sequential_multiply_matrix
: Функция выполняет последовательное умножение двух матриц. Перед умножением производится проверка на возможность выполнения операции. Результат сохраняется в новой матрице. -
parallel_multiply_matrix
: Функция выполняет параллельное умножение двух матриц, разделяя работу между указанным числом процессов. Также производится проверка на возможность умножения матриц. Результат сохраняется в новой матрице. -
perform_multiplication
: Вспомогательная функция, используемая в параллельном умножении. Каждый процесс выполняет умножение только для своего "куска" матрицы.
Результаты
Ссылка на видео
https://drive.google.com/file/d/18GxoovYjWLUAOhtsORBzBUByu4HdIeY8/view?usp=sharing