DAS_2023_1/simonov_nikita_lab_5
2024-01-22 04:27:41 +04:00
..
screens simonov nikita lab 5 done 2024-01-22 04:27:41 +04:00
main.py simonov nikita lab 5 done 2024-01-22 04:27:41 +04:00
readme.md simonov nikita lab 5 done 2024-01-22 04:27:41 +04:00

Лабораторная работа №5.

Задание

Реализовать умножение двух больших квадратных матриц

Ход выполнения

  • Реализовать алгоритм перемножение матриц для потокового выполнения
  • Адаптировать алгоритм для параллельного выполнения:
  • Разделить данные на чанки, сохранив корректность вычислений

Технологии

  • numpy: библиотека для работы с многомерными массивами и матрицами в Python.
  • multiprocessing: модуль Python, предоставляющий возможность создания и управления процессами, что позволяет реализовать параллельные вычисления.

Ход работы

  • sequential_multiply_matrix: Функция выполняет последовательное умножение двух матриц. Перед умножением производится проверка на возможность выполнения операции. Результат сохраняется в новой матрице.

  • parallel_multiply_matrix: Функция выполняет параллельное умножение двух матриц, разделяя работу между указанным числом процессов. Также производится проверка на возможность умножения матриц. Результат сохраняется в новой матрице.

  • perform_multiplication: Вспомогательная функция, используемая в параллельном умножении. Каждый процесс выполняет умножение только для своего "куска" матрицы.

Результаты

Ссылка на видео

https://drive.google.com/file/d/18GxoovYjWLUAOhtsORBzBUByu4HdIeY8/view?usp=sharing