Files
2025-10-22 20:03:52 +04:00

62 lines
2.8 KiB
Markdown
Raw Permalink 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.
# Лабораторная работа 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)