Еремин Василий. Технология SEQ-MPI. Интегрирование – метод прямоугольников. Вариант 19#30
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #30 +/- ##
==========================================
+ Coverage 94.03% 94.63% +0.60%
==========================================
Files 15 17 +2
Lines 486 541 +55
Branches 181 196 +15
==========================================
+ Hits 457 512 +55
Partials 29 29 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| OutType expected_result_{}; | ||
|
|
||
| static double Function(double x) { | ||
| return (std::exp(x) * std::sin(x)) + (x * x * x * std::cos(x)); |
There was a problem hiding this comment.
Please, test on different functions
|
|
||
| bool EreminVRectangleMethodSEQ::ValidationImpl() { | ||
| auto &input = GetInput(); | ||
| return (std::get<0>(input) < std::get<1>(input)) && (std::get<2>(input) > 0) && (std::get<2>(input) <= 100000000) && |
There was a problem hiding this comment.
Why these checks are necessary?
(std::get<2>(input) > 0) && (std::get<2>(input) <= 100000000)
There was a problem hiding this comment.
Проверка, что количество разбиений положительное, и не какое-то огромное число. Границу можно поставить и выше, но для func тестов это уже слишком много, так как они ограничены 1 секундой, а для perf больше не надо, так как и так время выполнение 4-5 секунд
| return true; | ||
| } | ||
|
|
||
| bool EreminVRectangleMethodMPI::RunImpl() { |
There was a problem hiding this comment.
The data is not being scattered from rank 0 to other ranks
There was a problem hiding this comment.
Но у меня же есть:
MPI_Bcast(&lower_bound, 1, MPI_DOUBLE, 0, MPI_COMM_WORLD);
MPI_Bcast(&upper_bound, 1, MPI_DOUBLE, 0, MPI_COMM_WORLD);
MPI_Bcast(&steps, 1, MPI_INT, 0, MPI_COMM_WORLD);There was a problem hiding this comment.
Not scattered though (split by fragments and send partially). I'm ok to accept as is
…ников. Вариант 19 (learning-process#30) ## Описание В рамках этого проекта был реализован алгоритм численного интегрирования методом прямоугольников - **Задача**: Интегрирование – метод прямоугольников - **Вариант**: 19 - **Технология**: SEQ, MPI - **Описание** вашей реализации и отчёта. **Реализация**: Реализован метод средних прямоугольников для численного интегрирования. Параллельная версия использует MPI с блочно-циклическим распределением нагрузки между процессами. **Ключевые MPI операции:** - `MPI_Bcast` - для рассылки параметров интегрирования от корневого процесса всем остальным - `MPI_Allreduce` - для сбора и глобального суммирования частичных результатов со всех процессов **Отчёт**: Содержит описание алгоритмов, схему распараллеливания, результаты тестирования корректности и анализа производительности с сравнением последовательной и 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, являются точными и достоверными
…ников. Вариант 19 (learning-process#30) ## Описание В рамках этого проекта был реализован алгоритм численного интегрирования методом прямоугольников - **Задача**: Интегрирование – метод прямоугольников - **Вариант**: 19 - **Технология**: SEQ, MPI - **Описание** вашей реализации и отчёта. **Реализация**: Реализован метод средних прямоугольников для численного интегрирования. Параллельная версия использует MPI с блочно-циклическим распределением нагрузки между процессами. **Ключевые MPI операции:** - `MPI_Bcast` - для рассылки параметров интегрирования от корневого процесса всем остальным - `MPI_Allreduce` - для сбора и глобального суммирования частичных результатов со всех процессов **Отчёт**: Содержит описание алгоритмов, схему распараллеливания, результаты тестирования корректности и анализа производительности с сравнением последовательной и 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, являются точными и достоверными
Описание
В рамках этого проекта был реализован алгоритм численного интегрирования методом прямоугольников
Задача: Интегрирование – метод прямоугольников
Вариант: 19
Технология: SEQ, MPI
Описание вашей реализации и отчёта.
Реализация: Реализован метод средних прямоугольников для численного интегрирования. Параллельная версия использует MPI с блочно-циклическим распределением нагрузки между процессами.
Ключевые MPI операции:
MPI_Bcast- для рассылки параметров интегрирования от корневого процесса всем остальнымMPI_Allreduce- для сбора и глобального суммирования частичных результатов со всех процессовОтчёт: Содержит описание алгоритмов, схему распараллеливания, результаты тестирования корректности и анализа производительности с сравнением последовательной и MPI-версий.
Чек-лист
<фамилия>_<первая_буква_имени>_<короткое_название_задачи>clang-formatлокально в моем форке (нет ошибок форматирования)clang-tidyлокально в моем форке (нет предупреждений/ошибок)nesterov_a_vector_sum), а не вmaster