Skip to content

Сметанин Дмитрий. Технология SEQ. Сортировка Хоара с четно-нечетным слиянием Бэтчера. Вариант 14 #219

Merged
allnes merged 2 commits intolearning-process:masterfrom
dvsmet:smetanin_d_hoare_even_odd_batchelor
Mar 7, 2026
Merged

Сметанин Дмитрий. Технология SEQ. Сортировка Хоара с четно-нечетным слиянием Бэтчера. Вариант 14 #219
allnes merged 2 commits intolearning-process:masterfrom
dvsmet:smetanin_d_hoare_even_odd_batchelor

Conversation

@dvsmet
Copy link
Copy Markdown
Contributor

@dvsmet dvsmet commented Mar 2, 2026

Описание

  • Задача: Сортировка Хоара с четно-нечетным слиянием Бэтчера
  • Вариант: 14
  • Технология: SEQ
  • Описание: Алгоритм сортирует массив целых чисел, комбинируя итеративную быструю сортировку Хоара с шагом четно-нечетного слияния Бэтчера. Используется явный стек пар индексов, что исключает переполнение стека вызовов. На каждом шаге выполняется разбиение подмассива по схеме Хоара с центральным опорным элементом, после чего к текущему диапазону применяется итерационный шаг слияния Бэтчера - элементы сравниваются и обмениваются парами с удваивающимся шагом. Процесс повторяется до полной сортировки массива по возрастанию.

Чек-лист

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

Ramzan8-88 pushed a commit to Ramzan8-88/ppc-2026-threads that referenced this pull request Mar 4, 2026
…e). Вариант 2. (learning-process#219)

**Описание**
--------------------
**Задание:** Передача от всех одному (reduce)
**Вариант:** 2
**Технология:** SEQ + MPI

### Краткое содержание
Реализованы две версии операции редукции (суммирования элементов):

- **Последовательная (SEQ)** версия, выполняющая суммирование всех
элементов входного вектора с помощью обычного цикла.
- **Параллельная версия на MPI**, в которой входные данные
распределяются между процессами с использованием `MPI_Scatterv.
Каждый процесс вычисляет локальную частичную сумму, после чего итоговый
результат получается с помощью собственного древовидного алгоритма
редукции и точечных MPI-сообщений.

Обе реализации полностью интегрированы в инфраструктуру PPC.

### **Содержание отчёта**
Файл `report.md` содержит:

- постановку задачи и ограничения;
- описание последовательного алгоритма;
- схему распараллеливания в MPI и шаблон коммуникаций;
- детали реализации и обработку граничных случаев;
- экспериментальную среду (CPU, ОС, компилятор, число процессов);
- результаты замеров производительности SEQ и MPI;
- таблицы времени выполнения, ускорения и эффективности;
- анализ масштабируемости и выводы.
----------------------------------------------

## Checklist
- [x] CI is green in my fork (build, tests, docs)
- [x] Task folder is named `<last>_<initial>_<short>` and matches branch
name
- [x] clang-format passed locally
- [x] clang-tidy passed locally (no warnings/errors introduced)
- [x] Functional tests pass locally
- [x] Performance tests pass locally
- [x] Report (`report.md`) is added and follows the template
- [x] I confirm that provided information is truthful
@allnes allnes merged commit 397006d into learning-process:master Mar 7, 2026
34 checks passed
SinevArtem pushed a commit to SinevArtem/ppc-2026-threads that referenced this pull request Mar 16, 2026
LarisaEgorova pushed a commit to LarisaEgorova/ppc-2026-threads that referenced this pull request Mar 17, 2026
GoriachevaKsenia pushed a commit to GoriachevaKsenia/ppc-2026-threads that referenced this pull request Mar 21, 2026
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.

2 participants