Лабораторная работа №5 - Параллельное перемножение матриц
Как запустить лабораторную работу
- Склонировать ветку.
- Перейти в папку Solution
- В консоли ввести "dotnet run", следовать подсказкам на экране
- Исходная матрица сохраняется в Data/Result.txt
Какие технологии использовались
В лабораторной использовались инструменты .NET(c#).
Что делает лабораторная работа
Лабораторная работа реализует программу, которая генерирует матрицу, вычисляет ее дискриминант по методу Гаусса и делает замеры скорости.
Касательно скорости
Замеры:
Введите размер матрицы: 100 Введите количество потоков: 100
Однопоточный алгоритм: 2 мс Параллельный алгоритм (100 потоков): 15 мс
Введите размер матрицы: 300 Введите количество потоков: 300
Однопоточный алгоритм: 51 мс Параллельный алгоритм (300 потоков): 36 мс
Введите размер матрицы: 500 Введите количество потоков: 500
Однопоточный алгоритм: 242 мс Параллельный алгоритм (500 потоков): 114 мс
Аналогично предыдущей лабораторной, при небольшом количестве данных, выигрывает однопоточный алгоритм, так как не тратится время на создание потоков. Если же количество данных достаточно велико, то преимущество забирает многопоточный алгоритм.