DAS_2024_1/yakovleva_yulia_lab_6
2024-10-27 13:04:11 +04:00
..
CalcMatrixDeterminant yakovleva_yulia_lab_6 is ready 2024-10-27 13:04:11 +04:00
images yakovleva_yulia_lab_6 is ready 2024-10-27 13:04:11 +04:00
.gitignore yakovleva_yulia_lab_6 is ready 2024-10-27 13:04:11 +04:00
README.md yakovleva_yulia_lab_6 is ready 2024-10-27 13:04:11 +04:00

Лабораторная работа №6 - Определение детерминанта матрицы с помощью параллельных вычислений

Описание

Были реализованы 2 алгоритма для определения детерминанта матрицы: обычный и параллельный. Для больших матриц лучше использовать метод Гаусса, который имеет временную сложность 𝑂(𝑛^3) и более подходящий для бенчмаркинга.

Результат

Общий результат результат работы

Описание работы алгоритмов с матрицами 100x100 и 300x300

Здесь мы видим, что в случае с матрицами 100x100 и 300x300 самым быстрым алгоритмом является обычный. Параллельный алгоритм при одном потоке выполняет задачу медленнее, чем при обычном алгоритме и при большем количестве потоков. Также здесь заметно, что начиная с двух потоков задача выполняется дольше. Это связано с тем, что на управление большим количеством потоков тратятся ресурсы. Чем больше потоков, тем больше ресурсов требуется процессору для управления ими, возникает конкуренция за ресурсы.

Описание работы алгоритмов с матрицей 500x500

В случае с матрицей 500x500 мы видим, что параллельный алгорит быстрее выполняет свою задачу, чем обычный. Чем больше потоков - тем быстрее расчитывается детерминант. Это связано с тем, что потоки распределяют между собой задачи по расчетам детерминанта, и соотвественно заканчивают быстрее. Из этого можем сделать вывод, что параллельный алгоритм больше подходит для работы с большими матрицами.

Отчет

Работоспособность: Видео