17 lines
2.6 KiB
Markdown
17 lines
2.6 KiB
Markdown
|
# Лабораторная работа №6 - Определение детерминанта матрицы с помощью параллельных вычислений
|
|||
|
|
|||
|
## Описание
|
|||
|
Были реализованы 2 алгоритма для определения детерминанта матрицы: обычный и параллельный. Для больших матриц лучше использовать метод Гаусса, который имеет временную сложность 𝑂(𝑛^3) и более подходящий для бенчмаркинга.
|
|||
|
|
|||
|
# Результат
|
|||
|
Общий результат
|
|||
|
![результат работы](./images/image1.jpg)
|
|||
|
|
|||
|
# Описание работы алгоритмов с матрицами 100x100 и 300x300
|
|||
|
Здесь мы видим, что в случае с матрицами 100x100 и 300x300 самым быстрым алгоритмом является обычный. Параллельный алгоритм при одном потоке выполняет задачу медленнее, чем при обычном алгоритме и при большем количестве потоков. Также здесь заметно, что начиная с двух потоков задача выполняется дольше. Это связано с тем, что на управление большим количеством потоков тратятся ресурсы. Чем больше потоков, тем больше ресурсов требуется процессору для управления ими, возникает конкуренция за ресурсы.
|
|||
|
|
|||
|
# Описание работы алгоритмов с матрицей 500x500
|
|||
|
В случае с матрицей 500x500 мы видим, что параллельный алгорит быстрее выполняет свою задачу, чем обычный. Чем больше потоков - тем быстрее расчитывается детерминант. Это связано с тем, что потоки распределяют между собой задачи по расчетам детерминанта, и соотвественно заканчивают быстрее. Из этого можем сделать вывод, что параллельный алгоритм больше подходит для работы с большими матрицами.
|
|||
|
|
|||
|
## Отчет
|
|||
|
Работоспособность: [Видео](https://vk.com/video372869030_456239959)
|