From 014845df457f1c3f10a6e66bb9f00dc2d0ec0c92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D1=8C=D1=84=D0=B8=D1=8F=20=D0=A2=D1=83=D0=BA?= =?UTF-8?q?=D0=B0=D0=B5=D0=B2=D0=B0?= Date: Thu, 24 Oct 2024 15:46:08 +0400 Subject: [PATCH] tukaeva_alfiya_lab_5 is ready --- .idea/.name | 2 +- .../inspectionProfiles/profiles_settings.xml | 6 ++ .idea/misc.xml | 4 ++ tukaeva_alfiya_lab_5/README.md | 30 +++++++++ tukaeva_alfiya_lab_5/project/main.py | 61 ++++++++++++++++++ tukaeva_alfiya_lab_5/result.png | Bin 0 -> 66057 bytes 6 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 tukaeva_alfiya_lab_5/README.md create mode 100644 tukaeva_alfiya_lab_5/project/main.py create mode 100644 tukaeva_alfiya_lab_5/result.png diff --git a/.idea/.name b/.idea/.name index 3ad0378..11a5d8e 100644 --- a/.idea/.name +++ b/.idea/.name @@ -1 +1 @@ -Consumer_1.py \ No newline at end of file +main.py \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..ae8ddd2 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/tukaeva_alfiya_lab_5/README.md b/tukaeva_alfiya_lab_5/README.md new file mode 100644 index 0000000..086c7aa --- /dev/null +++ b/tukaeva_alfiya_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.png "") + +### Вывод: + +Параллельный подход может быть более быстрым, чем последовательный на матрицах большого размера, так как он позволяет производить более эффективное распределение работы между процессами. Однако на маленьких матрицах небольшая задержка на создание и инициализацию нескольких процессов может оказаться более затратным, чем просто выполнение умножения последовательно. + + +# Видео +https://vk.com/video230744264_456239107?list=ln-S0qfmD3VN0JZC8Nh6o diff --git a/tukaeva_alfiya_lab_5/project/main.py b/tukaeva_alfiya_lab_5/project/main.py new file mode 100644 index 0000000..3d159fb --- /dev/null +++ b/tukaeva_alfiya_lab_5/project/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/tukaeva_alfiya_lab_5/result.png b/tukaeva_alfiya_lab_5/result.png new file mode 100644 index 0000000000000000000000000000000000000000..53bf718feff51d177e3a79551c8bd5fe89ac2b8c GIT binary patch literal 66057 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 JohN1F{Xb?sUHt$6 literal 0 HcmV?d00001