Skip to content

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