MPPA-256 Lib Async IS Kernel #29
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New version of Integer Sort implementation on MPPA-256 using the Asynchronous Communications Library, provided by Kalray. Now we have a segment of minibuckets, were each cluster have it's own space inside it. In reality, it's a segment of integers, so, to communicate between I/O and Slaves, we put the elements of a minibucket inside the space that a slave has on minibuckets segment. Now all sorting in slave side is right, and I've done an optimization too. Before, it was always sorting the maximum numbers of elements allowed. Now, it's sorting a lot less elements (only what's needed plus 16, on maximum, because we need that the number of elements to be sorted mod 16 (number of threads) to be equal to 0).
OBS: There's a minimum bug on class huge, where at the end of execution we have one element (over 134217728) that isn't sorted. So, even thought this is clearly a logic bug, this doesn't affect the execution time and we can use the solution to obtain the desired time data (it executes just fine). Also, all other classes work just fine too, with no bugs (all elements are sorted). The bug is better described in file Master/bucket.c, on line 64 and below, and it happens on line 79 (pops an element that is out of bound instead of stop).