DAS_2024_1/artamonova_tatyana_lab_5/README.md

37 lines
2.2 KiB
Markdown
Raw Normal View History

2024-11-17 20:03:47 +04:00
# Лабораторная работа №5 ПИбд-42 Артамоновой Татьяны
## Запуск лабораторной работы
1. Установить библиотеки Python и NumPy
3. Запустить скрипт matrix.py с помощью команды: *python matrix.py*
## Используемые технологии
- Язык программирования: Python
- Библиотеки:
* numpy: Для работы с массивами и матрицами
* multiprocessing: Для параллельного выполнения кода
* time: Для измерения времени выполнения
## Задание на лабораторную работу
**Кратко:** реализовать умножение двух больших квадратных матриц.
**Подробно:** в лабораторной работе требуется сделать два алгоритма: обычный и параллельный (задание со * -
реализовать это в рамках одного алгоритма). В параллельном алгоритме предусмотреть ручное задание количества
потоков (число потоков = 1 как раз и реализует задание со *), каждый из которых будет выполнять умножение
элементов матрицы в рамках своей зоны ответственности.
## Результаты
![Результат работы](images/results.png)
## Вывод
Результаты показывают, что для маленьких матриц последовательное умножение быстрее.
Оптимальное количество потоков близко к количеству ядер процессора. Увеличение количества потоков сверх
оптимального значения не всегда ускоряет вычисления. Параллелизм эффективнее для больших матриц.
### [Видео](https://vk.com/video212084908_456239362)