Я пытаюсь распараллелить функцию qsort() в C++ с помощью openMP, но у меня есть некоторые проблемы. Для всех, для большого количества элементов для сортировки (ex: V = 1000) qsort вообще не работает, я никогда не выхожу из этой функции (бесконечный цикл). Затем я замечаю, что моя параллельная версия qsort намного медленнее, чем серийная. Кто-нибудь может мне помочь? Здесь код: https://dpaste.de/EaH0.Параллельный qsort using openMP
здесь среднее время, прошедшее, где kruscalP является параллельная версия: благодаря
Вы можете показать нам какой-нибудь код? мы не можем видеть, что вы делаете неправильно. – Pandrei
здесь пример кода: https://dpaste.de/A2p1 этот алгоритм упорядочивает края графа относительно их весов. – Betelgeuse
Похоже, у вас есть условие гонки, когда вы делаете 'A [i] = A [i + 1] '. Вам нужно изменить свой алгоритм или поместить свой своп в критический раздел. –