From 6711e8b0f6f2f3f5c2c09896ec9894696efd02aa Mon Sep 17 00:00:00 2001 From: the Date: Wed, 23 Oct 2024 18:36:31 +0400 Subject: [PATCH] Lab5 --- bogdanov_dmitry_lab_5/MatrixMult/main.py | 88 ++++++++++++++++++ bogdanov_dmitry_lab_5/README.md | 18 ++++ bogdanov_dmitry_lab_5/images/Screenshot_1.png | Bin 0 -> 64505 bytes 3 files changed, 106 insertions(+) create mode 100644 bogdanov_dmitry_lab_5/MatrixMult/main.py create mode 100644 bogdanov_dmitry_lab_5/README.md create mode 100644 bogdanov_dmitry_lab_5/images/Screenshot_1.png diff --git a/bogdanov_dmitry_lab_5/MatrixMult/main.py b/bogdanov_dmitry_lab_5/MatrixMult/main.py new file mode 100644 index 0000000..2913f9a --- /dev/null +++ b/bogdanov_dmitry_lab_5/MatrixMult/main.py @@ -0,0 +1,88 @@ +import random as rnd +import threading +import time +from multiprocessing import Pool + +def generateSquareMatrix(size): + return [[rnd.randint(0, 100) for i in range(size)] for j in range(size)] + +def printMatrix(matrix): + for row in matrix: + print(*row, sep="\t") + + +# Перемножение без использования потоков +def matrixMultiplyStandard(matrix1, matrix2): + l1 = len(matrix1) + l2 = len(matrix2) + global result_matrix + result = result_matrix + for i in range(l1): + for j in range(l2): + for k in range(l2): + result[i][j] += matrix1[i][k] * matrix2[k][j] + + return result + +result_matrix = [[0 for i in range(500)] for j in range(500)] + +# Перемножение в отдельном потоке +def matrixMultiplySingleThread(args): + matrix1, matrix2, start_i, end_i = args + global result_matrix + + result = result_matrix + + for i in range(start_i, end_i): + for j in range(len(matrix2[0])): + for k in range(len(matrix2)): + result[i][j] += matrix1[i - start_i][k] * matrix2[k][j] + +# Параллельное перемножение, использует ф-ю выше для каждого потока +def matrixMultiplyWithThreads(matrix1, matrix2, thread_count): + l1 = len(matrix1) + l2 = len(matrix2) + + # Кол-во строк на последний поток, если деление по потокам будет неточным + last_rows_count = 0 + + if l1 % thread_count == 0: + rows_per_thread = l1 // thread_count + else: + rows_per_thread = l1 // thread_count + last_rows_count = l1 % thread_count + + for i in range(thread_count): + start_i = i * rows_per_thread + + if (i - 1) == thread_count and last_rows_count > 0: + end_i = start_i + last_rows_count + else: + end_i = start_i + rows_per_thread + + args = [] + args.append((matrix1[start_i:end_i], matrix2, start_i, end_i)) + with Pool(processes = thread_count) as pool: + pool.map(matrixMultiplySingleThread, args) + + +if __name__ == "__main__": + + sizes = [100, 300, 500] + num_threads = [1, 5, 8, 12] + + for size in sizes: + matrix1 = generateSquareMatrix(size) + matrix2 = generateSquareMatrix(size) + start_time = time.time() + matrixMultiplyStandard(matrix1, matrix2) + end_time = time.time() + print(f"Standard size {size}: {end_time - start_time}s") + + for threads in num_threads: + start_time = time.time() + matrixMultiplyWithThreads(matrix1, matrix2, threads) + end_time = time.time() + print(f"Parallel size {size}, {threads} thread(s): {end_time - start_time}s") + + print("-" * 100) \ No newline at end of file diff --git a/bogdanov_dmitry_lab_5/README.md b/bogdanov_dmitry_lab_5/README.md new file mode 100644 index 0000000..2258f5a --- /dev/null +++ b/bogdanov_dmitry_lab_5/README.md @@ -0,0 +1,18 @@ +# Богданов Дмитрий ПИбд-42 +# Лабораторная работа №5 + + +## Функционал: + - Были созданы методы генерации и отображения матриц заданного размера + - Былы созданы методы для параллельного умножения матриц с использованием Pool + - Был написан код для бенчмаркинга стандартного и параллельного перемножений + +## Результаты выполнения: + +![изображение 1](./images/Screenshot_1.png) + +### Вывод: +Использование нескольких потоков приносит значительный выигрыш только на крупных матрицах, в то время как на матрицах меньшего размера больше времени уходит на менеджмент потоков. Это особенно заметно при сравнении результатов выполнения вычислений на матрице размером 100х100. + + +## [Видео](https://drive.google.com/file/d/1iPfLjzLiWwmszPH_KJ40vFCX-iWDLm1S/view?usp=sharing) \ No newline at end of file diff --git a/bogdanov_dmitry_lab_5/images/Screenshot_1.png b/bogdanov_dmitry_lab_5/images/Screenshot_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d0f6c983258c395d21e8fc0caf214d77b3102ec8 GIT binary patch literal 64505 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 G^!;BXE;X6} literal 0 HcmV?d00001