DAS_2024_1/README.md

25 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Задание: необходимо реализовать умножение двух больших квадратных матриц. Требуется сделать два алгоритма: обычный и параллельный.
В параллельном алгоритме предусмотреть ручное задание количества потоков
(число потоков = 1 как раз и реализует задание со *), каждый из которых будет выполнять умножение
элементов матрицы в рамках своей зоны ответственности.
Сделать несколько бенчмарков последовательного и параллельного алгоритма на умножение двух матриц размером 100x100, 300x300, 500x500 элементов.
Результаты работы:
https://vkvideo.ru/video272231566_456240487?list=ln-x7Bdvda2vcCFVKUwql
Выводы:
100х100 матрица:
Лучший результат у 16 потоков 4 мс.
Чуть хуже у 8 с.
Значительно хуже 2 и 4 потока с результатами 41 и 64 мс.
1 поток в параллельном алгоритме показал себя так же, как и последовательный алгоритм 13 мс.
300х300 матрица:
Время последовательного алгоритма одно из худших, а 16 потоков снова показали себя наилучшими в параллельном алгоритме.
500х500 матрица:
16 потоков показали наилучший результат в параллельном алгоритме, в противовес ему идет 1 поток.
Последовательный алгоритм показал средний результат.