DAS_2024_1/artamonova_tatyana_lab_5/README.md

37 lines
2.2 KiB
Markdown
Raw 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.

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