Skip to content
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

Fix rare failure in match sort kernel #31

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

stotko
Copy link

@stotko stotko commented Nov 15, 2018

The sort kernel uses Parallel Bubble Sort and switches between even and odd phases. In the rare case where every even pair is sorted but not the whole sequence, no swap will be performed during the initial even phase. Therefore, the sequence is considered sorted, the loop stops and no odd phase is triggered. This case becomes more likely for short sequences like this one here:

1 2 5 6 3 4

Even phase checks : 1 < 2, 5 < 6, 3 < 4 --> no swap performed

This issue is fixed by enforcing that at least one even and odd phase is performed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant