Go to file
2024-12-30 22:21:23 +04:00
.gitattributes Добавить .gitattributes и .gitignore. 2024-12-30 20:43:52 +03:00
.gitignore Добавить .gitattributes и .gitignore. 2024-12-30 20:43:52 +03:00
Matrix.cs Добавьте файлы проекта. 2024-12-30 20:43:54 +03:00
Program.cs Добавьте файлы проекта. 2024-12-30 20:43:54 +03:00
README.md Добавить README.md 2024-12-30 22:21:23 +04:00
rvip_5.csproj Добавьте файлы проекта. 2024-12-30 20:43:54 +03:00
rvip_5.sln Добавьте файлы проекта. 2024-12-30 20:43:54 +03:00

Задание: необходимо реализовать умножение двух больших квадратных матриц. Требуется сделать два алгоритма: обычный и параллельный. В параллельном алгоритме предусмотреть ручное задание количества потоков (число потоков = 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 поток. Последовательный алгоритм показал средний результат.