BundleFusion icon indicating copy to clipboard operation
BundleFusion copied to clipboard

Fix rare failure in match sort kernel

Open stotko opened this issue 6 years ago • 0 comments

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.

stotko avatar Nov 15 '18 08:11 stotko