bondarenko_max_lab_5_is_ready
This commit is contained in:
parent
8e5776d104
commit
b64b354a74
@ -1,31 +1,26 @@
|
|||||||
# Лабораторная работа 1 - Знакомство с Docker и Docker Compose
|
# Лабораторная работа 5 - Вспоминаем математику или параллельное перемножение матриц
|
||||||
### ПИбд-42 || Бондаренко Максим
|
### ПИбд-42 || Бондаренко Максим
|
||||||
|
|
||||||
# Описание работы
|
# Описание работы
|
||||||
|
|
||||||
## Цель
|
## Задание
|
||||||
> [!NOTE]
|
|
||||||
> Изучение современных технологий контейнеризации.
|
|
||||||
|
|
||||||
## Результат работы
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> Кратко: реализовать умножение двух больших квадратных матриц.
|
> Кратко: реализовать умножение двух больших квадратных матриц.
|
||||||
>
|
>
|
||||||
> Подробно: в лабораторной работе требуется сделать два алгоритма: обычный и параллельный (задание со * - реализовать это в рамках одного алгоритма). В параллельном алгоритме предусмотреть ручное задание количества потоков (число потоков = 1 как раз и реализует задание со *), каждый из которых будет выполнять умножение элементов матрицы в рамках своей зоны ответственности.
|
> Подробно: в лабораторной работе требуется сделать два алгоритма: обычный и параллельный (задание со * - реализовать это в рамках одного алгоритма). В параллельном алгоритме предусмотреть ручное задание количества потоков (число потоков = 1 как раз и реализует задание со *), каждый из которых будет выполнять умножение элементов матрицы в рамках своей зоны ответственности.
|
||||||
|
|
||||||
## Краткое описание модулей и их работа
|
## Краткое описание модулей и их работа
|
||||||
1. matrixOperations.js
|
1. matrix.operations.js
|
||||||
multiplyMatricesSequential(A, B):
|
multiplyMatricesSequential(A, B):
|
||||||
- Перебирает элементы матриц и вычисляет их произведение, заполняя результирующую матрицу.
|
- Перебирает элементы матриц и вычисляет их произведение, заполняя результирующую матрицу.
|
||||||
multiplyMatricesParallel(A, B, numThreads):
|
multiplyMatricesParallel(A, B, numThreads):
|
||||||
- Делит работу между потоками, каждый из которых умножает часть матриц. Запускает воркеры и собирает их результаты.
|
- Делит работу между потоками, каждый из которых умножает часть матриц. Запускает воркеры и собирает их результаты.
|
||||||
|
|
||||||
2. benchmark.js
|
2. benchmark.js
|
||||||
generateMatrix(size):
|
generateMatrix(size):
|
||||||
- Создает матрицу с случайными значениями заданного размера.
|
- Создает матрицу с случайными значениями заданного размера.
|
||||||
benchmark():
|
benchmark():
|
||||||
- Вызывает generateMatrix для создания матриц, затем измеряет время выполнения multiplyMatricesSequential и multiplyMatricesParallel с различными параметрами, выводит результаты.
|
- Вызывает generateMatrix для создания матриц, затем измеряет время выполнения multiplyMatricesSequential и multiplyMatricesParallel с различными параметрами, выводит результаты.
|
||||||
3. matrixWorker.js
|
3. matrix.worker.js
|
||||||
multiplyPartial(A, B, start, end):
|
multiplyPartial(A, B, start, end):
|
||||||
- Воркеры выполняют умножение только для части матриц, определенной параметрами start и end, и возвращают частичные результаты через parentPort.
|
- Воркеры выполняют умножение только для части матриц, определенной параметрами start и end, и возвращают частичные результаты через parentPort.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user