Skip to content

Conversation

@fleezeex
Copy link
Contributor

@fleezeex fleezeex commented Jan 2, 2026

  • Задача: Поразрядная сортировка для вещественных чисел (тип double) с четно-нечетным слиянием Бэтчера
  • Вариант: 21
  • Технология: MPI, SEQ
  • Описание:
    Программа решает задачу распределенной сортировки вектора double с использованием MPI. Реализован гибридный подход: геометрический параллелизм с локальной поразрядной сортировкой (сложность
    O(N)) и параллельным слиянием. Ключевой особенностью является механизм DoubleToOrderedInt, позволяющий применять целочисленные алгоритмы к формату IEEE 754, и использование топологии Бэтчера для минимизации транзакций при обмене данными между процессами. Реализованы последовательная (SEQ) и параллельная (MPI) версии с покрытием unit-тестами.

Чек-лист

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

@codecov-commenter
Copy link

codecov-commenter commented Jan 3, 2026

Codecov Report

❌ Patch coverage is 84.35374% with 23 lines in your changes missing coverage. Please review.
✅ Project coverage is 16.57%. Comparing base (92b24d3) to head (482d2ac).
⚠️ Report is 90 commits behind head on master.

Files with missing lines Patch % Lines
tasks/volkov_a_radix_batcher/mpi/src/ops_mpi.cpp 82.85% 8 Missing and 10 partials ⚠️
tasks/volkov_a_radix_batcher/seq/src/ops_seq.cpp 88.09% 4 Missing and 1 partial ⚠️

❌ Your patch status has failed because the patch coverage (84.35%) is below the target coverage (95.00%). You can increase the patch coverage or adjust the target coverage.

❗ There is a different number of reports uploaded between BASE (92b24d3) and HEAD (482d2ac). Click for more details.

HEAD has 18 uploads less than BASE
Flag BASE (92b24d3) HEAD (482d2ac)
19 1
Additional details and impacted files
@@             Coverage Diff             @@
##           master     #290       +/-   ##
===========================================
- Coverage   94.03%   16.57%   -77.46%     
===========================================
  Files          15      189      +174     
  Lines         486     7343     +6857     
  Branches      181     2860     +2679     
===========================================
+ Hits          457     1217      +760     
- Misses          0     6040     +6040     
- Partials       29       86       +57     

☔ 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.

MPI_Sendrecv(local_vec.data(), counts[rank], MPI_DOUBLE, neighbor, 0, buffer_recv.data(), counts[neighbor],
MPI_DOUBLE, neighbor, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);

std::merge(local_vec.begin(), local_vec.end(), buffer_recv.begin(), buffer_recv.begin() + counts[neighbor],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You were supposed to implement Batcher merge, not use the ordinary one

@fleezeex fleezeex requested a review from aobolensk January 4, 2026 07:30
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.

3 participants