Show simple item record

dc.contributor.advisorWatkins, Alex
dc.contributor.authorWatkins, James Alexander
dc.date.accessioned2019-05-30T16:23:37Z
dc.date.available2019-05-30T16:23:37Z
dc.date.created2018-05
dc.date.submittedMay 2018
dc.identifier.urihttp://hdl.handle.net/1853/61359
dc.description.abstractMerging and Sorting algorithms are the backbone of many modern computer applica- tions. As such, efficient implementations are desired. New architectural advancements in CPUs allow for ever-present algorithmic improvements. This research presents a new approach to Merge Sorting using SIMD (Single Instruction Multiple Data). Traditional approaches to SIMD sorting typically utilize a bitonic sorting network (Batcher’s Algorithm) which ads sig- nificant overhead. Our approach eliminates the over- head from this approach. We start with a branchless merge algorithm and then use the Merge Path algo- rithm to split up merging between the different SIMD paths. Testing demonstrates that the algorithm not only surpasses the SIMD based bitonic counterpart, but that it is over 2.94 times faster than a standard merge, merging over 300M elements per second. A full sort reaches to over 5x faster than a quicksort and 2x faster than Intel’s IPP library sort, sorting over 5.3M keys per second. A 256 thread parallel sort reaches over 500M keys per second and a speedup of over 2x from a regular merge sort. These results make it the fastest sort on Intel’s KNL processors that we know of.
dc.format.mimetypeapplication/pdf
dc.language.isoen_US
dc.publisherGeorgia Institute of Technology
dc.subjectSIMD
dc.subjectAVX-512
dc.subjectSorting
dc.subjectParallel Computing
dc.subjectMerge Path
dc.subjectMerge Sort
dc.subjectBitonic Sort
dc.subjectData-level parallelism
dc.titleA Fast and Simple Approach to Merge Sorting using AVX-512
dc.typeUndergraduate Research Option Thesis
dc.description.degreeUndergraduate
dc.contributor.departmentComputational Science and Engineering
thesis.degree.levelUndergraduate
dc.date.updated2019-05-30T16:23:37Z


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record