Добавить README.md
This commit is contained in:
parent
629ac45adb
commit
52fdf061be
44
README.md
Normal file
44
README.md
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
Задание:
|
||||||
|
Реализовать нахождение детерминанта квадратной матрицы.
|
||||||
|
В лабораторной работе требуется сделать два алгоритма: обычный и параллельный
|
||||||
|
(задание со * - реализовать это в рамках одного алгоритма). В параллельном алгоритме предусмотреть ручное задание количества потоков (число потоков = 1 как раз и реализует задание со *), каждый из которых будет выполнять нахождение отдельной группы множителей.
|
||||||
|
Сделать несколько бенчмарков последовательного и параллельного алгоритма поиска детерминанта матрицы размером 100x100, 300x300, 500x500 элементов.
|
||||||
|
Результаты работы:
|
||||||
|
Размер матрицы: 100x100
|
||||||
|
Бенчмаркинг последовательного алгоритма...
|
||||||
|
Время выполнения последовательного алгоритма: 2455 мс
|
||||||
|
Бенчмаркинг параллельного алгоритма...
|
||||||
|
Время выполнения параллельного алгоритма (1 потоков): 2486 мс
|
||||||
|
Время выполнения параллельного алгоритма (2 потоков): 1428 мс
|
||||||
|
Время выполнения параллельного алгоритма (4 потоков): 855 мс
|
||||||
|
Время выполнения параллельного алгоритма (8 потоков): 583 мс
|
||||||
|
Время выполнения параллельного алгоритма (16 потоков): 479 мс
|
||||||
|
-----------------------------
|
||||||
|
Размер матрицы: 300x300
|
||||||
|
Бенчмаркинг последовательного алгоритма...
|
||||||
|
Время выполнения последовательного алгоритма: 24633 мс
|
||||||
|
Бенчмаркинг параллельного алгоритма...
|
||||||
|
Время выполнения параллельного алгоритма (1 потоков): 24318 мс
|
||||||
|
Время выполнения параллельного алгоритма (2 потоков): 13679 мс
|
||||||
|
Время выполнения параллельного алгоритма (4 потоков): 7720 мс
|
||||||
|
Время выполнения параллельного алгоритма (8 потоков): 5608 мс
|
||||||
|
Время выполнения параллельного алгоритма (16 потоков): 4162 мс
|
||||||
|
-----------------------------
|
||||||
|
Размер матрицы: 500x500
|
||||||
|
Бенчмаркинг последовательного алгоритма...
|
||||||
|
Время выполнения последовательного алгоритма: 143225 мс
|
||||||
|
Бенчмаркинг параллельного алгоритма...
|
||||||
|
Время выполнения параллельного алгоритма (1 потоков): 141256 мс
|
||||||
|
Время выполнения параллельного алгоритма (2 потоков): 81412 мс
|
||||||
|
Время выполнения параллельного алгоритма (4 потоков): 45647 мс
|
||||||
|
Время выполнения параллельного алгоритма (8 потоков): 27759 мс
|
||||||
|
Время выполнения параллельного алгоритма (16 потоков): 21324 мс
|
||||||
|
-----------------------------
|
||||||
|
Работа программы:
|
||||||
|
Так как программа дает результат очень медленно, были скопированы результаты первого запуска, а в видео предоставлена демонстрация программы.
|
||||||
|
https://vkvideo.ru/video272231566_456240488?list=ln-zze65r7OQqdttHwz6F
|
||||||
|
|
||||||
|
|
||||||
|
Заключение:
|
||||||
|
Рекурсивный алгоритм вычисления детерминанта является не самым эффективным для больших матриц, поэтому на больших размерах вычисление может занимать много времени. В реальных приложениях лучше использовать более эффективные алгоритмы.
|
||||||
|
При увеличении размеров матрицы и количества потоков, могут возникнуть ошибки из-за переполнения стека.
|
Loading…
Reference in New Issue
Block a user