-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Баранов Алексей. Задача 3. Вариант 15. Быстрая сортировка с четно-нечетным слиянием Бэтчера. #417
Баранов Алексей. Задача 3. Вариант 15. Быстрая сортировка с четно-нечетным слиянием Бэтчера. #417
Conversation
…com/Torcna/ppc-2024-autumn into baranov_a_num_of_orderly_violations
…com/Torcna/ppc-2024-autumn into baranov_a_num_of_orderly_violations
…pc-2024-autumn into baranov_a_ring_topology
added logic changed perf (they were failing)
@aobolensk Please read paragraph 4 and tell me, what should i do? |
Usually in such cases, we were told to create a separate PR with a bug fix, without linking it to another task. |
this is no good |
1 MPI
В этой задаче реализована Быстрая сортировка с четно-нечетным слиянием Бэтчера. Суть алгоритма заключается в том, что на каждый процесс рассылается часть исходного вектора, эти части сортируются с помощью быстрой сортировки, и после этого происходит слияние.
Пример:
Исходный массив {9,8,7,6}. 4 Процесса используются.
n(размер вектора) =4, p= n/world.size().
2 Итог
Благодаря такой организации работы получается так что сливают два отсортированных массива 2 процесса, а не 1 как в simple merge
3 Какие проверки выполняются
В тестах проверяются четные и нечетные размеры векторов. На различных типах данных тестируется различное количество процессов.
4 Почему Can’t automatically merge.
В предыдущем задании на топологию сети кольцо в perf tests была допущена досадная ошибка, которая всплыла только сейчас. В этом PR я ее исправил и очень надеюсь, что не нужно будет revert`ить всю merged ветку c уже сделанным заданием.