From 21c4aa5f5ea6c6cc4d5f0413446f5799effb7d56 Mon Sep 17 00:00:00 2001 From: igors Date: Sun, 15 Dec 2024 03:37:34 +0400 Subject: [PATCH] . --- melnikov_igor_lab_5/README.md | 26 +++++++++++++++++ melnikov_igor_lab_5/app.py | 51 ++++++++++++++++++++++++++++++++++ melnikov_igor_lab_5/lab_5.png | Bin 0 -> 64314 bytes 3 files changed, 77 insertions(+) create mode 100644 melnikov_igor_lab_5/README.md create mode 100644 melnikov_igor_lab_5/app.py create mode 100644 melnikov_igor_lab_5/lab_5.png diff --git a/melnikov_igor_lab_5/README.md b/melnikov_igor_lab_5/README.md new file mode 100644 index 0000000..8b3bb58 --- /dev/null +++ b/melnikov_igor_lab_5/README.md @@ -0,0 +1,26 @@ +# Лабораторная работа №5 - Параллельное умножение матриц + +## Задание + +Требуется сделать два алгоритма: обычный и параллельный. В параллельном алгоритме предусмотреть ручное задание количества потоков, каждый из которых будет выполнять умножение элементов матрицы в рамках своей зоны ответственности. + +### Описание работы программы + +Метод ```benchmark``` выполняет бенчмарк для матриц заданного размера. + +Далее генерируются две матрицы ```matrix1``` и ```matrix2``` заданного размера. + +После этого вызываются соответствующие методы для вычисления произведения матриц: ```multiply_matrices``` для обычного умножения и ```multiply_matrices_parallel``` для параллельного умножения. + +Измеряется время выполнения каждого из методов с использованием функции ```time.time()```. + +### Результат работы программы + +![](lab_5.png "") + +### Вывод + +Параллельный подход может быть более быстрым, чем последовательный на матрицах большого размера, так как он позволяет производить более Параллельное выполнение матричного умножения имеет смысл применять при работе с крупными матрицами, где выигрыш от параллельных вычислений компенсирует затраты на управление потоками. Для небольших матриц может быть эффективнее использовать обычное выполнение + +# Видеозапись работы программы +https://disk.yandex.ru/i/5gUyRJw0TM7-rw \ No newline at end of file diff --git a/melnikov_igor_lab_5/app.py b/melnikov_igor_lab_5/app.py new file mode 100644 index 0000000..15577e2 --- /dev/null +++ b/melnikov_igor_lab_5/app.py @@ -0,0 +1,51 @@ +import numpy as np +import time +import concurrent.futures + +def multiply_matrices(matrix1, matrix2): + return np.dot(matrix1, matrix2) + +def multiply_matrices_parallel(matrix1, matrix2, num_threads): + result = np.zeros_like(matrix1) + chunk_size = matrix1.shape[0] // num_threads + + def multiply_chunk(start, end): + nonlocal result + for i in range(start, end): + result[i] = np.dot(matrix1[i], matrix2) + + with concurrent.futures.ThreadPoolExecutor(max_workers=num_threads) as executor: + futures = [] + for i in range(0, matrix1.shape[0], chunk_size): + futures.append(executor.submit(multiply_chunk, i, i + chunk_size)) + + for future in concurrent.futures.as_completed(futures): + future.result() + + return result + +def benchmark(matrix_size, num_threads_list=[1, 2, 4]): + # Генерация матриц + matrix1 = np.random.rand(matrix_size, matrix_size) + matrix2 = np.random.rand(matrix_size, matrix_size) + + # Бенчмарк для обычного умножения + start_time = time.time() + result = multiply_matrices(matrix1, matrix2) + end_time = time.time() + print(f"Размер матрицы {matrix_size}x{matrix_size}") + print(f"Последовательный: Время выполнения: {end_time - start_time:.6f} секунд") + + # Бенчмарк для параллельного умножения + for num_threads in num_threads_list: + start_time = time.time() + result_parallel = multiply_matrices_parallel(matrix1, matrix2, num_threads) + end_time = time.time() + print(f"Параллельный ({num_threads} поток): Время выполнения: {end_time - start_time:.6f} секунд") + + print() + +# Запуск бенчмарков +benchmark(100) +benchmark(300) +benchmark(500) diff --git a/melnikov_igor_lab_5/lab_5.png b/melnikov_igor_lab_5/lab_5.png new file mode 100644 index 0000000000000000000000000000000000000000..b06da02a53fc39e4aa6741cd2064f06c856e37f6 GIT binary patch literal 64314 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%0AM|ag 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%0Du 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 literal 0 HcmV?d00001