Кутергин Валентин. Технология SEQ-MPI. Интегрирование - метод трапеций. Вариант 20.#32
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #32 +/- ##
==========================================
+ Coverage 94.03% 94.34% +0.31%
==========================================
Files 15 17 +2
Lines 486 548 +62
Branches 181 191 +10
==========================================
+ Hits 457 517 +60
- Misses 0 2 +2
Partials 29 29 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| return true; | ||
| } | ||
|
|
||
| bool TrapezoidIntegrationMPI::RunImpl() { |
There was a problem hiding this comment.
Sending the data to different ranks from rank 0 is missing
| namespace // анонимное пространство имен | ||
| { | ||
|
|
||
| // NOLINTNEXTLINE(readability-function-cognitive-complexity) |
| } | ||
|
|
||
| // массив с наборами тестовых данных | ||
| const std::array<TestType, 6> kTestCases = { |
There was a problem hiding this comment.
Too few test cases for functional testing
There was a problem hiding this comment.
Исправил:
- Лишний комментарий NOLINT убран.
- Количество функциональных тестов было значительно увеличено для лучшего покрытия кода.
По поводу отправки данных в MPI-версии: эта логика была реализована в методеPreProcessingImplв соответствии с жизненным циклом задачи, а не вRunImpl.
Пожалуйста, посмотрите обновленную версию.
| } | ||
| }, | ||
| "postCreateCommand": "python3 -m pip install -r requirements.txt" | ||
| "postCreateCommand": "python3 -m pip install -r requirements.txt --break-system-packages --ignore-installed" |
There was a problem hiding this comment.
Please, do not modify common files in your PR
| @@ -0,0 +1,76 @@ | |||
| { | |||
There was a problem hiding this comment.
Здравствуйте!
Внес все финальные исправления по вашим замечаниям. Вся актуальная работа находится в последних коммитах.
(К сожалению, из-за git reset в процессе отладки в историю попали старые рабочие коммиты. Прошу прощения за "шум", вся финальная версия — в последнем состоянии ветки).
d6e914e to
c667f9c
Compare
…й. Вариант 20. (learning-process#32) ## Описание Была сделана задача параллелизма на примере задачи интегрирования методом трапеций. - **Задача:** Интегрирование - метод трапеций - **Вариант:** 20 - **Технология:** SEQ + MPI - **Описание:** Реализованы последовательная (SEQ) и параллельная (MPI) версии алгоритма численного интегрирования методом трапеций. Параллельная версия использует блочное распределение данных и корректно обрабатывает случаи, когда общее число итераций `n` не делится нацело на количество процессов. Были написаны функциональные тесты (включая тесты со случайными данными) и тесты производительности для обеих реализаций. Код отформатирован и проверен с помощью `pre-commit` и `clang-tidy`. --- ## Чек-лист - [x] **Статус CI**: Все CI-задачи (сборка, тесты, генерация отчёта) успешно проходят на моей ветке в моем форке - [x] **Директория и именование задачи**: Я создал директорию с именем `kutergin_v_trapezoid_method_of_integration` - [x] **Полное описание задачи**: Я предоставил полное описание задачи в теле pull request - [x] **clang-format**: Мои изменения успешно проходят `clang-format` локально в моем форке (нет ошибок форматирования) - [x] **clang-tidy**: Мои изменения успешно проходят `clang-tidy` локально в моем форке (нет предупреждений/ошибок) - [x] **Функциональные тесты**: Все функциональные тесты успешно проходят локально на моей машине - [x] **Тесты производительности**: Все тесты производительности успешно проходят локально на моей машине - [x] **Ветка**: Я работаю в ветке, названной точно так же, как директория моей задачи 'kutergin_v_trapezoid_method_of_integration', а не в `master` - [x] **Правдивое содержание**: Я подтверждаю, что все сведения, указанные в этом pull request, являются точными и достоверными
…й. Вариант 20. (learning-process#32) ## Описание Была сделана задача параллелизма на примере задачи интегрирования методом трапеций. - **Задача:** Интегрирование - метод трапеций - **Вариант:** 20 - **Технология:** SEQ + MPI - **Описание:** Реализованы последовательная (SEQ) и параллельная (MPI) версии алгоритма численного интегрирования методом трапеций. Параллельная версия использует блочное распределение данных и корректно обрабатывает случаи, когда общее число итераций `n` не делится нацело на количество процессов. Были написаны функциональные тесты (включая тесты со случайными данными) и тесты производительности для обеих реализаций. Код отформатирован и проверен с помощью `pre-commit` и `clang-tidy`. --- ## Чек-лист - [x] **Статус CI**: Все CI-задачи (сборка, тесты, генерация отчёта) успешно проходят на моей ветке в моем форке - [x] **Директория и именование задачи**: Я создал директорию с именем `kutergin_v_trapezoid_method_of_integration` - [x] **Полное описание задачи**: Я предоставил полное описание задачи в теле pull request - [x] **clang-format**: Мои изменения успешно проходят `clang-format` локально в моем форке (нет ошибок форматирования) - [x] **clang-tidy**: Мои изменения успешно проходят `clang-tidy` локально в моем форке (нет предупреждений/ошибок) - [x] **Функциональные тесты**: Все функциональные тесты успешно проходят локально на моей машине - [x] **Тесты производительности**: Все тесты производительности успешно проходят локально на моей машине - [x] **Ветка**: Я работаю в ветке, названной точно так же, как директория моей задачи 'kutergin_v_trapezoid_method_of_integration', а не в `master` - [x] **Правдивое содержание**: Я подтверждаю, что все сведения, указанные в этом pull request, являются точными и достоверными
Описание
Была сделана задача параллелизма на примере задачи интегрирования методом трапеций.
nне делится нацело на количество процессов. Были написаны функциональные тесты (включая тесты со случайными данными) и тесты производительности для обеих реализаций. Код отформатирован и проверен с помощьюpre-commitиclang-tidy.Чек-лист
kutergin_v_trapezoid_method_of_integrationclang-formatлокально в моем форке (нет ошибок форматирования)clang-tidyлокально в моем форке (нет предупреждений/ошибок)master