forked from Alexey/DAS_2024_1
30 lines
2.9 KiB
Markdown
30 lines
2.9 KiB
Markdown
|
# Отчет. Лабораторная работа 5
|
|||
|
|
|||
|
## Описание
|
|||
|
В рамках лабораторной работы была реализована программа, которая производит умножение матриц с применением последовательного и паралелльного алгоритма.
|
|||
|
При этом последовательный алгоритм достигается с помощью выделения одного потока на выполнение.
|
|||
|
|
|||
|
При указании одного потока подзадачи по умножению матриц полностью выполняются одним потоком. В качестве подзадачи было
|
|||
|
выбрано нахождение строки результирующей матрицы.
|
|||
|
|
|||
|
По условию задания необходимо было замерить результаты выполнения алгоритмов на квадратных матрицах размерами 100x100,
|
|||
|
300x300, 500x500. На всех прогонах можно увидеть, что последовательное выполнение умножения матриц происходит медленнее
|
|||
|
в несколько раз медленее. При этом чем больше потоков выделяется для выполнения подзадач, тем быстрее выполняется
|
|||
|
алгоритм параллельного умножения.
|
|||
|
|
|||
|
Результаты представлены на следующих изображениях:
|
|||
|
![100](images/100x100.PNG)
|
|||
|
![300](images/300x300.PNG)
|
|||
|
![500](images/500x500.PNG)
|
|||
|
|
|||
|
## Как запустить
|
|||
|
Необходимо иметь установленную JDK 21. Можно воспользоваться встроенным в нее компилятором (javac), а затем запустить исполняемый файл (java)
|
|||
|
или запускать из среды разработки.
|
|||
|
При запуске нужно указать аргументы командной строки:
|
|||
|
1. размер матриц (integer)
|
|||
|
2. режим отладки (boolean) - позволяет выводить в консоль исходные матрицы и промежуточные результаты работы
|
|||
|
|
|||
|
## Видео-отчет
|
|||
|
Работоспособность лабораторной работы можно оценить в следующем [видео](https://disk.yandex.ru/i/ZafQV9CGjBIKIw).
|
|||
|
Запуск происходил через IDEA с различными конфигурациями запуска (отличался размер умножаемых матриц и параметр отладки),
|
|||
|
чтобы увидеть результаты выполнения на матрицах всех размеров, необходимых по условию задачи.
|