Романов Артем. Технология SEQ-MPI. Интегрирование – метод прямоугольников. Вариант 19#77
Conversation
Codecov Report❌ Patch coverage is ❌ Your patch status has failed because the patch coverage (86.66%) is below the target coverage (95.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## master #77 +/- ##
==========================================
- Coverage 94.03% 93.22% -0.81%
==========================================
Files 15 18 +3
Lines 486 546 +60
Branches 181 199 +18
==========================================
+ Hits 457 509 +52
- Misses 0 2 +2
- Partials 29 35 +6 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Данный файл действительно здесь не нужен - он остался от шаблона задачи. Удалил.
|
|
||
| bool RomanovAIntegrationRectMethodMPI::RunImpl() { | ||
| const auto f = std::get<0>(GetInput()); | ||
|
|
There was a problem hiding this comment.
Where is the data scattering across the ranks?
There was a problem hiding this comment.
Во время занятия 20.11.2025 Александр Нестеров сказал, что в задачах интегрирования объект требуемой функции std::function можно напрямую доставать из GetInput(). Рассылка остальных данных осуществляется процессом с нулевым рангом остальным ниже в коде.
Если данный комментарий был не про это - прошу описать, что не так, более подробно.
| | Режим | Число процессов | Время, с | Ускорение | Эффективность | | ||
| | ----- | --------------- | -------- | --------- | ------------- | | ||
| | SEQ | 1 | 1.89 | 1.00 | N/A | | ||
| | OMP | 2 | 1.05 | 1.80 | 90.0% | |
There was a problem hiding this comment.
OMP? I suggest checking auto generated reports before publishing
There was a problem hiding this comment.
При переводе шаблона отчёта на русский язык и небольшом его визуальном улучшении не заметил, что в шаблоне была указана не та технология. Исправил на MPI.
…иков. Вариант 19 (learning-process#77) ## Описание - **Задача**: Интегрирование – метод прямоугольников - **Вариант**: 19 - **Технология**: SEQ, MPI - **Описание**: - **Общая информация**: Реализуется метод средних прямоугольников; - **Последовательная реализация**: Заданный отрезок интегрирования $[a;b]$ делится на $n$ равных частей, в цикле суммируются площади треугольников с основанием $\frac{b-a}{n}$ и высотой $f(x_i^\*)$, где $x_i^\*$ - центр соответствующей части отрезка интегрирования; - **MPI версия:** Считается, что функция $f$ известна всем процессам (из-за проблем её передачи). 0-ой процесс получает значения $a$, $b$ и $n$, затем их рассылает остальным процессам. После этого каждый процесс имеет одни и те же входные данные $f, a, b, n$. На основании ранга текущего процесса и общего числа процессов каждый из них вычисляет, какой подотрезок элементарных отрезков он будет обрабатывать. Каждый процесс суммирует площади на своём подотрезке, затем данные от всех процессов суммируются; - **Отчёт**: Отчёт содержит более подробную постановку задачи, описание последовательной и параллельной версий алгоритма, описание тестов и проанализированные данные о времени работы алгоритмов. --- ## Чек-лист - [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, являются точными и достоверными
Описание
Чек-лист
<фамилия>_<первая_буква_имени>_<короткое_название_задачи>clang-formatлокально в моем форке (нет ошибок форматирования)clang-tidyлокально в моем форке (нет предупреждений/ошибок)nesterov_a_vector_sum), а не вmaster