Еремин Василий. Технология SEQ. Вычисление многомерных интегралов методом Монте-Карло. Вариант 12.#215
Merged
allnes merged 3 commits intolearning-process:masterfrom Mar 7, 2026
Conversation
Ramzan8-88
pushed a commit
to Ramzan8-88/ppc-2026-threads
that referenced
this pull request
Mar 4, 2026
…дному (gather). Вариант 5 (learning-process#215) # Описание **Задача**: Обобщенная передача от всех одному (gather) **Вариант**: 5 **Технология:** SEQ|MPI ## Описание задачи Требуется реализовать операцию Gather, которая собирает массивы данных со всех процессов в один массив на указанном процессе-получателе (root). SEQ решение этой задачи заключается в простом копировании входного массива send_data в выходной массив recv_data, так как в однопроцессорной системе нет необходимости собирать данные с других процессов. Алгоритм проверяет, что root равен 0, и затем выполняет копирование данных. MPI решение этой задачи заключается в сборе данных со всех процессов на процессе root через бинарное дерево процессов; каждый процесс помещает свои данные в соответствующий сегмент общего буфера gather_buffer, затем выполняется сбор данных по бинарному дереву: на каждом шаге процессы с определенными рангами получают данные от дочерних процессов через MPI_Recv, а процессы-листья отправляют свои данные родительским процессам через MPI_Send; после завершения сбора на процессе 0, если root не равен 0, данные передаются на указанный root процесс через MPI_Send и MPI_Recv, затем процесс root рассылает собранные данные всем процессам через MPI_Bcast. Отчёт содержит анализ и постановку проблемы, описание SEQ и MPI алгоритмов решения проблемы, описание тестов и анализ производительности. ## Чек-лист - [x] **Статус CI:** Все CI-задачи (сборка, тесты, генерация отчёта) успешно проходят на моей ветке в моем форке - [x] **Директория и именование задачи:** Я создал директорию с именем `<фамилия>_<первая_буква_имени>_<короткое_название_задачи>` - [x] **Полное описание задачи:** Я предоставил полное описание задачи в теле pull request - [x] **clang-format:** Мои изменения успешно проходят clang-format локально в моем форке (нет ошибок форматирования) - [x] **clang-tidy:** Мои изменения успешно проходят clang-tidy локально в моем форке (нет предупреждений/ошибок) - [x] **Функциональные тесты:** Все функциональные тесты успешно проходят локально на моей машине - [x] **Тесты производительности:** Все тесты производительности успешно проходят локально на моей машине - [x] **Ветка:** Я работаю в ветке, названной точно так же, как директория моей задачи (например, `nesterov_a_vector_sum`), а не в `master` - [x] **Правдивое содержание:** Я подтверждаю, что все сведения, указанные в этом pull request, являются точными и достоверными
SinevArtem
pushed a commit
to SinevArtem/ppc-2026-threads
that referenced
this pull request
Mar 16, 2026
…одом Монте-Карло. Вариант 12. (learning-process#215) * Create new project * Reformat TestType * Fix: clang-tidy #1
LarisaEgorova
pushed a commit
to LarisaEgorova/ppc-2026-threads
that referenced
this pull request
Mar 17, 2026
…одом Монте-Карло. Вариант 12. (learning-process#215) * Create new project * Reformat TestType * Fix: clang-tidy #1
GoriachevaKsenia
pushed a commit
to GoriachevaKsenia/ppc-2026-threads
that referenced
this pull request
Mar 21, 2026
…одом Монте-Карло. Вариант 12. (learning-process#215) * Create new project * Reformat TestType * Fix: clang-tidy learning-process#1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Описание
Задача: Вычисление многомерных интегралов методом Монте-Карло.
Вариант: 12
Технология: SEQ
Описание вашей реализации и отчёта.
### Алгоритм
Генерация случайных точек:
Для каждого измерения области интегрирования создаётся равномерное распределение случайных точек в пределах заданных границ.
Вычисление значения функции:
Для каждой случайной точки вычисляется значение интегрируемой функции.
Накопление результатов:
Все вычисленные значения суммируются и усредняются.
Оценка интеграла:
Результат умножается на объём области интегрирования, чтобы получить оценку интеграла.
Структура
bounds), количество случайных точек (samples) и функцию интегрирования (func).Чек-лист
<фамилия>_<первая_буква_имени>_<короткое_название_задачи>clang-formatлокально в моем форке (нет ошибок форматирования)clang-tidyлокально в моем форке (нет предупреждений/ошибок)(например,
nesterov_a_vector_sum), а не вmasterдостоверными