Skip to content

Дорофеев Иван. Технология SEQ-MPI. Интегрирование – метод Монте-Карло. Вариант 21.#65

Merged
allnes merged 13 commits intolearning-process:masterfrom
4elodoy-Molovek:dorofeev_i_monte_carlo_integration
Dec 10, 2025
Merged

Дорофеев Иван. Технология SEQ-MPI. Интегрирование – метод Монте-Карло. Вариант 21.#65
allnes merged 13 commits intolearning-process:masterfrom
4elodoy-Molovek:dorofeev_i_monte_carlo_integration

Conversation

@4elodoy-Molovek
Copy link
Copy Markdown
Contributor

@4elodoy-Molovek 4elodoy-Molovek commented Nov 19, 2025

Описание

SEQ: Последовательный алгоритм основан на статистической оценке определённого интеграла по набору случайных точек. Сначала определяется область интегрирования и количество выборок. Затем генерируются случайные точки, равномерно распределённые внутри данной области, на каждой точке вычисляется значение функции, после чего среднее значение умножается на объём области, что и даёт приближённый результат интегрирования.

MPI: В параллельной версии общее количество выборок делится между всеми процессами. Каждый процесс генерирует свой набор случайных точек и вычисляет промежуточную сумму значений функции. Для этого общее число выборок разбивается на число блоков, равное числу процессов. Размеры блоков одинаковы, за исключением последнего процесса, которому выделяются остаточные выборки. После выполнения локальных вычислений результаты всех процессов суммируются с помощью операции MPI_Reduce, и итоговый результат собирается на нулевом процессе.

Отчёт содержит описание системы, на которой проводились эксперименты, результаты и вывод.


Чек-лист

  • Статус CI: Все CI-задачи (сборка, тесты, генерация отчёта) успешно проходят на моей ветке в моем форке
  • Директория и именование задачи: Я создал директорию с именем <фамилия>_<первая_буква_имени>_<короткое_название_задачи>
  • Полное описание задачи: Я предоставил полное описание задачи в теле pull request
  • clang-format: Мои изменения успешно проходят clang-format локально в моем форке (нет ошибок форматирования)
  • clang-tidy: Мои изменения успешно проходят clang-tidy локально в моем форке (нет предупреждений/ошибок)
  • Функциональные тесты: Все функциональные тесты успешно проходят локально на моей машине
  • Тесты производительности: Все тесты производительности успешно проходят локально на моей машине
  • Ветка: Я работаю в ветке, названной точно так же, как директория моей задачи (например, nesterov_a_vector_sum), а не в master
  • Правдивое содержание: Я подтверждаю, что все сведения, указанные в этом pull request, являются точными и достоверными

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Nov 19, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.00%. Comparing base (92b24d3) to head (5d9fe6b).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #65      +/-   ##
==========================================
+ Coverage   94.03%   95.00%   +0.96%     
==========================================
  Files          15       18       +3     
  Lines         486      580      +94     
  Branches      181      227      +46     
==========================================
+ Hits          457      551      +94     
  Partials       29       29              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@4elodoy-Molovek 4elodoy-Molovek force-pushed the dorofeev_i_monte_carlo_integration branch from c80253c to ad8e101 Compare November 20, 2025 12:17
@4elodoy-Molovek 4elodoy-Molovek changed the title Дорофеев Иван. Технология SEQ|MPI. Интегрирование – метод Монте-Карло. Вариант 21. Дорофеев Иван. Технология SEQ-MPI. Интегрирование – метод Монте-Карло. Вариант 21. Nov 20, 2025
@4elodoy-Molovek 4elodoy-Molovek marked this pull request as draft November 24, 2025 07:02
@4elodoy-Molovek 4elodoy-Molovek marked this pull request as ready for review November 24, 2025 13:56
Comment thread tasks/dorofeev_i_monte_carlo_integration/mpi/src/ops_mpi.cpp
Comment thread tasks/dorofeev_i_monte_carlo_integration/seq/src/ops_seq.cpp
Comment thread tasks/dorofeev_i_monte_carlo_integration/seq/src/ops_seq.cpp
Comment thread tasks/dorofeev_i_monte_carlo_integration/mpi/src/ops_mpi.cpp
Comment thread tasks/dorofeev_i_monte_carlo_integration/seq/src/ops_seq.cpp
Comment thread tasks/dorofeev_i_monte_carlo_integration/seq/src/ops_seq.cpp
Comment thread tasks/dorofeev_i_monte_carlo_integration/tests/functional/main.cpp Outdated
Comment thread tasks/dorofeev_i_monte_carlo_integration/tests/functional/main.cpp
Comment thread tasks/dorofeev_i_monte_carlo_integration/report.md Outdated
@allnes allnes merged commit 7553809 into learning-process:master Dec 10, 2025
41 checks passed
AzotEye pushed a commit to AzotEye/ppc-2025-processes-informatics that referenced this pull request Dec 14, 2025
…. Вариант 21. (learning-process#65)

## Описание
**SEQ:** Последовательный алгоритм основан на статистической оценке
определённого интеграла по набору случайных точек. Сначала определяется
область интегрирования и количество выборок. Затем генерируются
случайные точки, равномерно распределённые внутри данной области, на
каждой точке вычисляется значение функции, после чего среднее значение
умножается на объём области, что и даёт приближённый результат
интегрирования.

**MPI:** В параллельной версии общее количество выборок делится между
всеми процессами. Каждый процесс генерирует свой набор случайных точек и
вычисляет промежуточную сумму значений функции. Для этого общее число
выборок разбивается на число блоков, равное числу процессов. Размеры
блоков одинаковы, за исключением последнего процесса, которому
выделяются остаточные выборки. После выполнения локальных вычислений
результаты всех процессов суммируются с помощью операции MPI_Reduce, и
итоговый результат собирается на нулевом процессе.

Отчёт содержит описание системы, на которой проводились эксперименты,
результаты и вывод.

---

## Чек-лист
<!--
Пожалуйста, убедитесь, что следующие пункты выполнены **до** отправки
pull request'а и запроса его ревью:
-->

- [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, являются точными и достоверными

<!--
ПРИМЕЧАНИЕ: Ложные сведения в этом чек-листе могут привести к отклонению
PR и получению нулевого балла за соответствующую задачу.
-->

---------

Co-authored-by: 4elodoy-Molovek <ivandor22@outlook.com>
AleksndrSakharov pushed a commit to AleksndrSakharov/ppc-2025-processes-informatics that referenced this pull request Dec 16, 2025
…. Вариант 21. (learning-process#65)

## Описание
**SEQ:** Последовательный алгоритм основан на статистической оценке
определённого интеграла по набору случайных точек. Сначала определяется
область интегрирования и количество выборок. Затем генерируются
случайные точки, равномерно распределённые внутри данной области, на
каждой точке вычисляется значение функции, после чего среднее значение
умножается на объём области, что и даёт приближённый результат
интегрирования.

**MPI:** В параллельной версии общее количество выборок делится между
всеми процессами. Каждый процесс генерирует свой набор случайных точек и
вычисляет промежуточную сумму значений функции. Для этого общее число
выборок разбивается на число блоков, равное числу процессов. Размеры
блоков одинаковы, за исключением последнего процесса, которому
выделяются остаточные выборки. После выполнения локальных вычислений
результаты всех процессов суммируются с помощью операции MPI_Reduce, и
итоговый результат собирается на нулевом процессе.

Отчёт содержит описание системы, на которой проводились эксперименты,
результаты и вывод.

---

## Чек-лист
<!--
Пожалуйста, убедитесь, что следующие пункты выполнены **до** отправки
pull request'а и запроса его ревью:
-->

- [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, являются точными и достоверными

<!--
ПРИМЕЧАНИЕ: Ложные сведения в этом чек-листе могут привести к отклонению
PR и получению нулевого балла за соответствующую задачу.
-->

---------

Co-authored-by: 4elodoy-Molovek <ivandor22@outlook.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants