62 lines
2.8 KiB
Markdown
62 lines
2.8 KiB
Markdown
# Лабораторная работа 6 — Параллельное вычисление детерминанта матрицы
|
||
|
||
## 1. Цель работы
|
||
|
||
Изучение параллельного программирования на примере реализации алгоритмов вычисления детерминанта (определителя) квадратных матриц с использованием многопроцессности Python.
|
||
|
||
## 2. Как запустить лабораторную работу
|
||
|
||
### Предварительные требования:
|
||
* Python 3.9+
|
||
* Библиотека NumPy
|
||
|
||
### Установка зависимостей
|
||
|
||
```bash
|
||
pip install numpy
|
||
```
|
||
|
||
### Запуск программы
|
||
|
||
```bash
|
||
python matrix.py
|
||
```
|
||
|
||
Программа автоматически выполнит:
|
||
1. Тесты корректности на известных матрицах
|
||
2. Бенчмарки на матрицах размером 100×100, 300×300 и 500×500 элементов
|
||
3. Сравнение последовательного и параллельного алгоритмов
|
||
|
||
## 3. Структура проекта
|
||
|
||
```
|
||
matrix.py # Основной файл с реализацией алгоритмов
|
||
README.md # Документация проекта
|
||
```
|
||
|
||
## 4. Результаты тестирования
|
||
|
||
На всех тестах одинаковый результат:
|
||
Детерминант при использовании множества потоков(процессов) высчитывается дольше чем при использовании строго 1 потока (главного). Это происходит из-за необходимости тратить время на выделение потоков(процессов), а также необходимости объединять результаты
|
||
|
||
# Сводная таблица результатов
|
||
|
||
| Размер | Потоки | Время (сек) | Ускорение |
|
||
|--------|---------|-------------|-----------|
|
||
| 100 | 1 | 0.0100 | 1.00 |
|
||
| 100 | 2 | 0.3408 | 0.03 |
|
||
| 100 | 4 | 0.3861 | 0.03 |
|
||
| 100 | 12 | 0.5920 | 0.02 |
|
||
| 300 | 1 | 0.0783 | 1.00 |
|
||
| 300 | 2 | 1.0641 | 0.07 |
|
||
| 300 | 4 | 1.2565 | 0.06 |
|
||
| 300 | 12 | 2.1755 | 0.04 |
|
||
| 500 | 1 | 0.2195 | 1.00 |
|
||
| 500 | 2 | 3.0588 | 0.07 |
|
||
| 500 | 4 | 3.0725 | 0.07 |
|
||
| 500 | 12 | 4.7439 | 0.05 |
|
||
|
||
## 5. Видео
|
||
|
||
ВидеоСсылка на видео работы алгоритма: [Rutube](https://rutube.ru/video/private/b655cb0028629067f79920162bf3b199/?p=l5uLlZQUmoEgv6RSAm4cVA)
|