From 1a8105cd2ffcd6e6a55f7c4773d9964685a44997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D0=BE=D0=BF=D0=BE=D0=BB=D1=8C=D1=86?= =?UTF-8?q?=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4?= =?UTF-8?q?=D1=80?= Date: Wed, 18 Dec 2024 12:31:16 +0400 Subject: [PATCH] novopolcev_alexander_lab_5 is ready --- novopolcev_alexander_lab_5/README.md | 30 +++++++++++++ novopolcev_alexander_lab_5/main.py | 61 ++++++++++++++++++++++++++ novopolcev_alexander_lab_5/result.jpg | Bin 0 -> 66057 bytes 3 files changed, 91 insertions(+) create mode 100644 novopolcev_alexander_lab_5/README.md create mode 100644 novopolcev_alexander_lab_5/main.py create mode 100644 novopolcev_alexander_lab_5/result.jpg diff --git a/novopolcev_alexander_lab_5/README.md b/novopolcev_alexander_lab_5/README.md new file mode 100644 index 0000000..b5a7a56 --- /dev/null +++ b/novopolcev_alexander_lab_5/README.md @@ -0,0 +1,30 @@ +# Лабораторная работа №5 - Параллельное умножение матриц + +## Задание + + +* Кратко: реализовать умножение двух больших квадратных матриц. + +* Подробно: в лабораторной работе требуется сделать два алгоритма: обычный и параллельный (задание со * - реализовать это в рамках одного алгоритма). В параллельном алгоритме предусмотреть ручное задание количества потоков (число потоков = 1 как раз и реализует задание со *), каждый из которых будет выполнять умножение элементов матрицы в рамках своей зоны ответственности. + +## Работа программы: + + 1. Генерируются случайные матрицы A и B заданных размеров. + + 2. multiply_matrices_sequential(A, B) умножает две матрицы A и B последовательно, используя вложенные циклы для вычисления элементов результирующей матрицы C. + + 3. multiply_matrices_parallel(A, B, num_workers) выполняет параллельное умножение матриц с использованием пула процессов. + + 4. benchmark(matrix_size, num_workers) Измеряет время выполнения операций умножения. И выводит результат в консоль. + +### Результат: + +![](result.jpg "") + +### Вывод: + +При работе с большими матрицами параллельная обработка обычно оказывается эффективнее последовательной благодаря распределению вычислительной нагрузки между несколькими процессорами. Однако при обработке малых матриц затраты на организацию и управление параллельными потоками могут превысить выигрыш от их использования, и тогда последовательная обработка окажется быстрее. + + +# Видео +https://disk.yandex.ru/i/MUL1RGOHfue8wQ diff --git a/novopolcev_alexander_lab_5/main.py b/novopolcev_alexander_lab_5/main.py new file mode 100644 index 0000000..3d159fb --- /dev/null +++ b/novopolcev_alexander_lab_5/main.py @@ -0,0 +1,61 @@ +import numpy as np +import time +from multiprocessing import Pool + +def multiply_matrices_sequential(A, B): + """Последовательное умножение матриц.""" + n = A.shape[0] + C = np.zeros((n, n)) + for i in range(n): + for j in range(n): + C[i][j] = np.dot(A[i], B[:, j]) # Используем векторизированное умножение для повышения производительности + return C + +def worker(args): + """Функция для параллельного умножения матриц, которая обрабатывает строки.""" + A, B, row_indices = args + C_part = np.zeros((len(row_indices), B.shape[1])) + + for idx, i in enumerate(row_indices): + C_part[idx] = np.dot(A[i], B) + + return C_part + +def multiply_matrices_parallel(A, B, num_workers): + """Параллельное умножение матриц.""" + n = A.shape[0] + C = np.zeros((n, n)) + row_indices = np.array_split(range(n), num_workers) + + with Pool(processes=num_workers) as pool: + results = pool.map(worker, [(A, B, idx) for idx in row_indices]) + + # Объединяем результаты + for i, result in enumerate(results): + C[i * len(result): (i + 1) * len(result)] = result + + return C + +def benchmark(matrix_size, num_workers): + # Генерация случайных матриц + A = np.random.rand(matrix_size, matrix_size) + B = np.random.rand(matrix_size, matrix_size) + + start_time = time.time() + if num_workers == 1: + C = multiply_matrices_sequential(A, B) + else: + C = multiply_matrices_parallel(A, B, num_workers) + end_time = time.time() + + method = "последовательное" if num_workers == 1 else f"параллельное с {num_workers} потоками" + print(f"{method.capitalize()} умножение матриц {matrix_size}x{matrix_size}: {end_time - start_time:.6f} сек") + +if __name__ == "__main__": + # Запуск бенчмарков + sizes = [100, 300, 500] + for size in sizes: + print(f"\nБенчмарк для матриц размером {size}x{size}:") + benchmark(size, 1) # Последовательный + benchmark(size, 4) # Параллельный (4 потока) + benchmark(size, 8) # Параллельный (8 потоков) diff --git a/novopolcev_alexander_lab_5/result.jpg b/novopolcev_alexander_lab_5/result.jpg new file mode 100644 index 0000000000000000000000000000000000000000..53bf718feff51d177e3a79551c8bd5fe89ac2b8c GIT binary patch literal 66057 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 JohN1F{Xb?sUHt$6 literal 0 HcmV?d00001