![]() |
![]() |
Account |
![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 212 Пол: Мужской Репутация: ![]() ![]() ![]() |
Итак, все знают что есть такой вид сортировки, как пузырьковая. Меня интересует какие еще есть алгоритмы в этом виде сортировки кроме: последовательного и чет-нечетной перестановки? И если есть информация о них поделиться ей, если не жалко.
|
![]() ![]() |
IUnknown |
![]()
Сообщение
#2
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: ![]() ![]() ![]() |
Цитата Далее я так понимаю код для распределения данных между процессами Неправильно понимаешь. Это не код основного приложения. Это код, выполняющийся на каждом ядре. То есть, на каждом ядре сначала выполняется сортировка локальных данных, а потом начинается цикл, в течении которого это ядро связывается с соседними и обменивается с ними информацией, после чего полученную от соседа информацию совмещает (это CompareSplit) со своей локальной (это тоже сортировка, я ж показывал тебе выше, что таким образом совокупность elmnts + relmnts поддерживается в упорядоченном состоянии). В итоге каждое ядро содержит свою порцию данных, которые при объединении дают отсортированный массив.Цитата ведь это все не один раз должно произойти? Угу. Полная сортировка - один раз, перед началом процесса. А потом - доупорядочивание с учетом данных, полученных по обмену с соседним процессом - в цикле. Причем, учитывая, что соседний процесс также получает данные из текущего (MPI_Sendrecv пересылает информацию в обе стороны: текущий elmnts -> соседний relmnts, и соседний elmnts -> текущий relmnts) - картинка складывается...Для полноты картины не хватает пересылки порции реального массива в каждый процесс, и потом - объединения всех данных обратно в один массив-результат. Но я, к сожалению, MPI не очень хорошо владею, что называется, "читаю", но не пишу, поэтому добавить это не смогу... |
![]() ![]() |
![]() |
Текстовая версия | 15.04.2025 7:50 |