43 lines
3.0 KiB
Markdown
43 lines
3.0 KiB
Markdown
|
# Отчет по лабораторной работе №6
|
|||
|
|
|||
|
Выполнил студент гр. ИСЭбд-41 Мытарин Е.С.
|
|||
|
|
|||
|
## Создание приложения
|
|||
|
|
|||
|
Выбрал язык C#, Windows Forms.
|
|||
|
|
|||
|
Приложение имеет поле ввода матрицы, в которое можно через пробел вносить элементы матрицы. При необходимости можно сгенерировать матрицу указав её размерность или загрузить из файла. Если размерность матрицы очень большая, то рекомендуется убрать флажок "выводить все в textbox", чтобы не нагружать приложение, и не выводить элементы матрицы в текстовое поле. При необходимости можно очистить матрицу и определитель. Количество потоков в параллельном алгоритме регулируется в соответствующем поле.
|
|||
|
|
|||
|
Попробуем запустить обычный и паралелльный алгоритмы на матрицах 3х3 и зафиксировать результат выполнения по времени.
|
|||
|
|
|||
|

|
|||
|
|
|||
|
В результате обычный алгоритм выполнился за 0.0004319 секунды, в то время как паралелльный выполнился за 0.0206593 секунды.
|
|||
|
|
|||
|
## Бенчмарки
|
|||
|
|
|||
|
Протестируем обычный и параллельный алгоритм определение детерминанта на различной размерности матрицы.
|
|||
|
|
|||
|
В ходе экспериментов было установлено, что обработка матрицы размеров больше 12х12 занимает слишком много времени в обычном алгоритме, поэтому для тестирования возьмем матрицы 5х5, 8х8 и 12х2.
|
|||
|
|
|||
|
Сверху отображен результат обычного алгоритма, снизу паралелльного.
|
|||
|
|
|||
|
Матрица 5х5
|
|||
|
|
|||
|

|
|||
|
|
|||
|
Матрицы 8x8
|
|||
|
|
|||
|

|
|||
|
|
|||
|
Матрицы 12х12
|
|||
|
|
|||
|

|
|||
|
|
|||
|
Сравнение обработки матрицы 12х12 на различном количестве потоков паралельного алгоритма.
|
|||
|
|
|||
|

|
|||
|
|
|||
|
Вывод: Параллельный алгоритм работает быстрее только при наличии большого количества операций. Если операций не так много, то обычный алгоритм справляется быстрее.
|
|||
|
|
|||
|
Также была обнаружено оптимальное количество потоков для лучшей работы обработки матриц 12x12 - 7 потоков.
|